Presentation is loading. Please wait.

Presentation is loading. Please wait.

Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission.

Similar presentations


Presentation on theme: "Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission."— Presentation transcript:

1 Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

2  DotNetNuke Core Team Member  Microsoft C# MVP  User of DNN for about 4 years  Author of Professional DotNetNuke Module Programming  CEO of IowaComputerGurus Inc.  Blah, blah, blah © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

3  Before You Start  Configuration/System Validation  Data Collection  Tools/Tricks  The Diagnostic/Validation Process  High Server Resources / Tools  Excessive Traffic  General and User Specific Performance Issues  Common Performance Issue Root Causes © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

4  Ensure using a configured installation and not a baseline DNN install  Proper caching for your configuration  Proper caching location for your configuration  Many resources available to help identify best configuration  Ensure no recurring errors via Event Log  Gather any information you can from users/hosting providers © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

5  Take note of all performance settings, and any IIS customizations  Identify the problem to solve:  Pages loading too slow  Memory usage excessive  File Usage Excessive © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

6  If diagnosing a “speed” issue record relevant time data  Using same internet connection  Using same cache configuration  Using same browser and timing tool  If diagnosing a server resources issue identify other running processes, and run time of application BEFORE diagnosing  Avoids issues with “leak” type issues being misguided as systematic issues © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

7  FasterFox – FireFox Plugin  Supports consistent page load timings  Only works with non-Ajax requests  Web Developer Toolbar  Allows you to see/disable css files  Allows for disabling of cache, to see true load times  Yslow – FireFox Plugin  FireBug – FireFox Plugin  Fiddler © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

8  Not everything that YSlow mentions is bad  Items to Focus on  Fewer HTTP Requests  Expires Date in Future  Don’t Scale Image in HTML  CSS Size/Minification  Items of Less Importance  Use CDN for Static © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

9

10

11

12  Start at the high level  Server resources?  Excessive traffic?  General Site Performance ▪ Recent changes? (Modules/Extensions) ▪ Specific users?  Not an “instant fix”  Try-Adjust-Retry  Identification is key  Be careful to only change 1 aspect at a time for proper testing © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

13  Typically the hardest scenario to diagnose  High CPU Usage – ASP.NET  Check for newly installed modules  Validate Scheduled Jobs  Validate cache configuration  Validate traffic to the site  High Memory Usage – ASP.NET  Check for newly installed modules  Switch caching to “File” rather than memory to see if benefit © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

14  High CPU Usage – SQL Server  SQL Profiler: Trace on SP Execution time  Ensure scheduled jobs not running too often ▪ Web Farm Users – Be sure to run on specific servers  High Memory Usage – SQL Server  Ensure that proper configuration is completed © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

15  ANTS Profiler/ Dot Trace .NET Profiling tools  Require source code to be truly effective  Requires development knowledge  SQL Server Profiler  Easy to use  Can easily spot high traffic, or long running items  Requires SQL Server knowledge typically to “fix” identified issues © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

16  Validate that traffic is excessive  Google Analytics  IIS Logs and Third Party solutions  Identify specific pages/functions  Validate modules  Typically sporadic issues that will resolve quickly  Usage of DotNetNuke Site Log with abrupt traffic surges can be problematic © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

17  Take Baseline Timings  Homepage  Interior Pages  Module heavy pages  Ensure that timings are all taken at the same time  Typically average of 3 requests averaged is best  Once with Cache enabled  Once with Cache disabled  Ensure that testing is happening with standard usage patterns/hardware © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

18  Look for systematic issues or trends  Homepage slower than all  All pages with ___ module are slower  Only when I do _____ is the site slow  Ensure that testing scenarios cover the areas of concern  Take action based upon the above identification © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

19  Identify modules in use on page?  Are they used elsewhere?  If so, do those pages also have issues  Are you using any modules in a “less than ideal” manner  Form modules with hundreds of fields  XML Module with massive transformations  Aggregator modules with large numbers of sub aggregated bits of content © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

20  Create a test page/environment  Start re-creating the functionality of the page in question  Baseline performance and continue to monitor  Before adding to page  After adding to page  After initial configuration  Incrementally throughout the configuration process with final performance  Use this information to determine if it is the module itself, or something else © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

21  A bit harder than other tests  Revert to the base DNN Skin  Navigate around the site to fill the cache  Take performance benchmarks and validate against previous numbers  If performance is better, check the skin for specific skin objects or.NET code components © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

22  Ensure that users are validating performance in “View” mode rather than edit mode  Check users membership in roles  See if other users, with same roles encounter similar performance issues © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

23  Remove unused modules from the installation  Ensure regular database backups are being completed  Ensure scheduler jobs are running at desired frequencies  Validate event log for exceptions on regular basis  Watch usage of “Swiss Army Knife” modules © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

24  Ensure that you know and trust the developers of modules you are using  When using “utility” style modules that provide robust configuration, flexibility, and extensibility remember that they may come with a cost at times © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

25  Contact Info  Twitter: @mitchelsellers  Blog: http://www.mitchelsellers.comhttp://www.mitchelsellers.com  Email: msellers@iowacomputergurus.com © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission

26  FasterFox - http://tinyurl.com/ff-dnn-perfhttp://tinyurl.com/ff-dnn-perf  Web Developer - http://tinyurl.com/wd-dnn-perfhttp://tinyurl.com/wd-dnn-perf  Yslow – http://tinyurl.com/ys-dnn-perfhttp://tinyurl.com/ys-dnn-perf  FireBug – http://tinyurl.com/fb-dnn-perfhttp://tinyurl.com/fb-dnn-perf  ANTS Profiler - http://tinyurl.com/ants-dnn-perfhttp://tinyurl.com/ants-dnn-perf  Dot Trace - http://tinyurl.com/dt-dnn-perfhttp://tinyurl.com/dt-dnn-perf © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission


Download ppt "Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission."

Similar presentations


Ads by Google