Download presentation
Presentation is loading. Please wait.
Published bySylvia Morton Modified over 8 years ago
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.