Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimizing Your Website’s Performance A Session by Mitchel Sellers.

Similar presentations


Presentation on theme: "Optimizing Your Website’s Performance A Session by Mitchel Sellers."— Presentation transcript:

1 Optimizing Your Website’s Performance A Session by Mitchel Sellers

2 About Your Speaker  Mitchel Sellers  Microsoft C# MVP, DotNetNuke MVP  CEO of IowaComputerGurus, Inc.  Contact Info  Twitter: @mitchelsellers  Blog: http://www.mitchelsellers.comhttp://www.mitchelsellers.com  Email: msellers@iowacomputergurus.com

3 Agenda  Disclaimer/Disclosure  Performance Diagnostic Principles  Setting the goal  Methods of Handling Performance Concerns  Creating a Performance Test Plan  Good and Bad Plan Examples  Test Environment/Where & How  Analyzing Results  How the Web Is Different  Tools & Processes

4 Disclaimer/Disclosure  The tools discussed in this presentation are tools that I have found helpful in my experience.  I am not being compensated for recommending/showing the tools I am showing today  I am showing tools in this talk, as they are the best & most consistent way to identify & track performance issues

5 Methods of Handling Performance Concerns  Proactive Performance Management  Best overall approach  Test/Retest on a regular basis throughout the process  Ensure that you take performance into consideration FIRST!  Reactive Performance Management  Less effective and can lead to chasing non-bugs  Doesn’t provide a mechanism to properly compare/validate  Emergencies are never the best way to resolve things  Best Organizational Decision?  Move to proactive after successes with reactive

6 Setting the Goal  Get to a consistent design strategy FIRST  What are you optimizing for?  Perceived Performance?  “It feels fast”  Score on a tool?  Yay! We got an 87 on Google Page Speed  Raw request throughput?  Specific areas or functions?  Mobile vs. Desktop?

7 Creating a Performance Test Plan  Develop a consistent plan for analysis  Based on user interactions not the “Developers Use”  Based on specific scenarios  Must be realistic  Ensure that your test duration is long enough, but not too long  Find the sweet spot to avoid clutter, but retain realistic testing  Watch for warm vs. cold worker processes  Can skew results  Ensure that the test itself is realistic  Don’t just test.aspx pages and neglect the other resources  Ensure that the process is REPEATABLE!

8 Creating a Performance Test Plan: Continued  Isolated Testing Sets  Key performance areas  Public Pages – Want fast performance  Overly heavy areas  E-Commerce Checkout – Heavy, but critical  Broad Spectrum Testing Sets  Simulate a full user interaction through your app  Helps for longer running testing  Many tools can offer a hybrid of test sets to help being realistic

9 Additional Test Plan Considerations If Diagnosing a specific issue  Is the issue user based?  Test with a specific user  BUT, still test other users  Is the issue possibly load related?  Test with similar load.  Sampling production is possible  Is the issue browser based?  Is the issue 100% repeatable?

10 Good Examples of Test Scenarios  User Reports a Problem with Viewing User Profiles  Create a test plan that isolates that functionality as it is known as a specific issue  Follow the exact flow though that the user does to bring up the profiles  Show listing of users  Select User to View  Use back or return buttons to navigate

11 Another Good Example  User Reports a Problem with Reporting for Specific Inputs  Create a test plan that runs the report multiple times with similar inputs  Also run with known good inputs  This allows for comparison to the good and bad of the same report

12 Bad Example  Users Report Random Performance Issues on Site  Randomly send a load testing tool to penetrate the application  Pushing more load than normal  Resolution?  Get more information, sit with the user if you have to

13 Managing a Test Environment?  Where do you test?  Can the issue be recreated on a dev environment?  Yes  Great, test on dev!  No  Further considerations need to be taken  Can you test on production?  Yes, but ideally you want to do what you can to isolate items to better test, as there is overhead  Some ASP.NET performance items can be identified in production, however, changing things to test might not be feasible

14 Test Environment Considerations  Make sure it is similar to the real environment  Similar CPU + RAM  Similar Disk IO processes  Similar Configurations of Servers  Similar OS Versions & Editions  If changing load or specs be aware of items approaching limits  Example: Using a dual core SQL Server box in dev and a quad core in production

15 Risks of Testing In Production  Load Testing  DDoS flagging of your site by hosting  Network latency/congestion  System offline  Performance Sampling  Overall system slowness

16 Analyzing Results  Use the data, NOT your assumptions  Be sure to look at ALL of the results!  Do they make sense?  Don’t jump to conclusions  Number 1 mistake  Make incremental changes, then re-test  Remember Middle School Science Class!  However, make sure to test all impacted areas!

17 How the Web Is Different  Browsers  Each have their own JS Rendering Engines  Each have their own limits on simultaneous domain requests (4-10)  HTML first then everything else  Images & Assets can bloat pages  Can overwhelm server bandwidth & restrict other stuff  External calls? Server Side?

18 Check the Simple Stuff First  Large images, long running JS, large ViewState  Site Load?  How to do this?  Fiddler  Google PageSpeed  Google Analytics

19 Tools to the Rescue: Fiddler  http://fiddler2.com/ - Free download http://fiddler2.com/  Investigate requests & responses  Examples  kcci.com > 200 HTTP Requests kcci.com  CNN.com > 180 HTTP Requests  Google.com = 18 HTTP Requests  Microsoft.com = 65 HTTP Requests  DMACC.edu = 99 HTTP Requests  My.NET Sites < 15 HTTP Requests *  Use this to see where its slow!

20 Tools to the Rescue: Google Page Speed  http://tinyurl.com/nzvx5l6 http://tinyurl.com/nzvx5l6

21 Tools to the Rescue: Google Analytics

22 Tools to the Rescue: Loader.io

23 Tools To The Rescue: LoadStorm

24 Digging In: Moving Past Basics  Start to look at Database & Web Server Statistics  Windows Stats &/or Perf Mon  NewRelic  ANTS Profiler  SQL Monitor  Etc

25 Windows Stuff?  CPU – Are you CPU Bound?  Memory – Is there ram available?  Disk Space – Do you have room?  Network Bandwidth – Is there extra?

26 New Relic

27 New Relic #2

28 Questions?  Go!


Download ppt "Optimizing Your Website’s Performance A Session by Mitchel Sellers."

Similar presentations


Ads by Google