getting the best performance out of dotnetnuke
DESCRIPTION
Mitchel Sellers, CEO IowaComputerGurus Inc. Getting the Best Performance Out of DotNetNuke. About Mitchel. Active in the DotNetNuke eco system for about 3 years Author of Professional DotNetNuke Module Programming - PowerPoint PPT PresentationTRANSCRIPT
Getting the Best Performance Out of DotNetNuke
Mitchel Sellers, CEOIowaComputerGurus Inc.
About Mitchel Active in the DotNetNuke eco system for about 3
years Author of Professional DotNetNuke Module
Programming Provider of support to many clients with varying
DotNetNuke installation configurations Documents Module Team lead CEO of IowaComputerGurus Inc.
Agenda What impacts performance
Infrastructure (Hosting Environment) Configuration (DNN Settings) Modules/Skin Objects Skin Design Traffic
Getting the best performance Tuning for the hosting environment Default configuration changes
Next Steps/More Drastic Measures Questions?
Impacts – Hosting EnvironmentWhy?Types of hosting
Shared Cloud (Distributed) Virtual Server (VPS) Dedicated Server
Location of SQL Server
Impacts – Hosting Environment (Cont)
Shared Low cost Low available RAM/CPU Moderate Disk IO
Cloud Moderate cost Unstable RAM allotment/Moderate CPU Very fast Disk IO
VPS Moderate cost Limited RAM (1-2 Gb)/Moderate CPU Moderate-Fast Disk IO
Dedicated High Cost High amount of RAM/CPU Moderate-Fast Disk IO
Impacts – Hosting Environment (Cont)
SQL Server Location Adds layer of complication to the
assessment of other hosting aspects Is locally installed SQL bad?Best configuration?Most secure configuration?Ways to combat issues?
Impacts - DNN ConfigurationBaseline DNN ConfigurationHost Settings
Performance settings Timer mode Schedule configuration
Future Concerns Event Log Site Log
Impacts - Modules/Skin ObjectsRecurring errors Improper development practicesSlow rendering/Lack of Cache
SolPart menu Invalid HTMLNumber of installed modules
Impacts – Skin Design
CSS Vs. Tables Size Rendering speed Content placement
Image/CSS sizeSkin Objects usedPanes used
Impacts TrafficLow Traffic
ASP.NET Worker Process Shutdowns▪ Re-configure IIS▪ Use service such as MyWebKeepAlive.com
Cloud or other hosting not allocating enough resources
High Traffic Database contention Lack of Caching/Compression
What To Do?
Start with core settings changesBaseline performance testing
DotNetNuke 4.9.0 website SolPart Menu Default Configuration/Shared Hosting Average page load time 3.2 seconds
Core Settings Changes – Part 1Performance Settings
Module Caching Method▪ Cloud/VPS – Disk▪ Shared/Dedicated – Memory
Performance Setting▪ Heavy Caching
Compression▪ GZip (Unless using 3rd party)
Core Settings Changes – Part 2Other Settings
Disable Users Online (Yes) Scheduler Mode (Timer) Enable Event Log Buffer (Yes) Auto-Sync File System (No)
Scheduler Search Indexer▪ Frequency should be lengthened
Core Settings Changes – Part 3Authentication Providers
By default all are enabled Average default load time 3-6 seconds
for loginDisable ALL unused providers at
“Host Settings” level Doing this with default providers (OpenId
and LiveId) resulted in login page load of under 1 second
Must be done at the host level, cannot be controlled by template
Post Core Settings ChangesAlmost instant changeUnauthenticated requests
Reduced load time to low 2 second mark, a 33% improvement
Improvement can be greater depending on size of content
Next StepsEvaluation of installed modules,
remove un-necessary onesConsider skin change from SolPart to
other menu provider. Have seen performance improvements
of 30-50% when using CSS NavMenuConsider third-party caching system
Have seen consistent improvements with Snapsis Page Blaster
How Good Can It Get?
DotNetNuke 4.9.4 site 2000 users 300 blog posts 3-4 k forum posts ~600-1000 visitors a day Shared hosting 1.9~2.4 seconds avg
load Dedicated hosting 0.7-1.2 seconds avg
load
Helpful Resources
My Blog – http://www.mitchelsellers.com
Snapsis – http://www.snapsis.com