Getting the Best Performance Out of DotNetNuke

Mitchel Sellers, CEO
IowaComputerGurus Inc.
Active in the DotNetNuke eco system for about 6 years
Author of Professional DotNetNuke Module Programming
Provider of support to many clients with varying
DotNetNuke installation configurations
 CEO of IowaComputerGurus Inc.




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?


Why?
Types of hosting
 Shared
 Cloud (Distributed)
 Virtual Server (VPS)
 Dedicated Server

Location of SQL Server

Shared
 Low cost
 Low available RAM/CPU
 Moderate Disk IO

Cloud (Old Style – Mosso, etc)
 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

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?


Baseline DNN Configuration
Host Settings
 Performance settings
 Timer mode
 Schedule configuration

Future Concerns
 Event Log
 Site Log



Recurring errors
Improper development practices
Slow rendering/Lack of Cache
 SolPart menu


Invalid HTML
Number of installed modules

CSS Vs. Tables
 Size
 Rendering speed
 Content placement



Image/CSS size
Skin Objects used
Panes used

Low 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


Start with core settings changes
Baseline performance testing
 DotNetNuke 4.9.0 website
 SolPart Menu
 Default Configuration/Shared Hosting
 Average page load time 3.2 seconds

Performance Settings
 Module Caching Method
▪ Cloud/VPS – Disk
▪ Shared/Dedicated – Memory
 Performance Setting
▪ Heavy Caching
 Compression
▪ GZip (Unless using 3rd party)
▪ Recommendation changes in 6.2

Other 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


Almost instant change
Unauthenticated requests
 Reduced load time to low 2 second mark, a 33%
improvement
 Improvement can be greater depending on size of
content


Evaluation of installed modules, remove unnecessary ones
Consider skin change from SolPart to other
menu provider.
 Have seen performance improvements of 30-50%
when using CSS NavMenu

Consider third-party caching system
 Have seen consistent improvements with Snapsis
Page Blaster

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


My Blog – http://www.mitchelsellers.com
Snapsis – http://www.snapsis.com