DotNetNuke Performance Settings Explained! 

My last article on DotNetNuke administration topics was very popular "DotNetNuke Host Settings Explained", this article is the promised follow up that will provide detailed information on the Performance/Compression settings section of DotNetNuke Host Settings.  I will explain what the values do, and also my personal experience with the settings, please keep in mind that all DNN sites are different and your needs may differ from those listed in the article, if you are unsure of the proper settings for you environment, please don't hesitate to ask for assistance in my forum.

Performance Settings

I believe that the performance settings of DotNetNuke are one of the most important configuration items, and most of the time these values are overlooked by site administrators.  I will discuss each option in detail below.

Page State Persistence

This setting determines where the Page State (ViewState) is stored for individual pages.  The default value for this setting is Page and I personally recommend NEVER changing this value.  Other individuals have had success with this option, I however have not in the multiple DNN installations that I have setup/configured/maintan. 

Module Caching Method

This setting determines where the module cache objects are stored.  By default this is done to disk, if you have the spare memory to use I STRONGLY recommend changing this to "Memory" as you will expereince a much faster cache response time.  In certain shared hosting environments you will be unable to use "Memory" in a helpful manner.  You might need to experiment in your environment to see which works better, or even better you might try out the Snapsis PageBlaster module which allows you to use both types and caches at the page level.

Performance Setting

This setting is used to define which cache level DotNetNuke will use for core items such as portal alias and other items of that nature.  I highly recommend setting this value to High Cache as it provides the best performance for your DNN installation.

Authenticated Cacheability

This setting is used to define the cacheability of content for authenticated users, this can be used to optimize what can and cannot be cached by downstream routers and machines when working with authenticated users.  For more information on the values in this section please consult MSDN, for all client installations I have left this at the default value.

Compression Setting

This setting is used to define if compression should be used, if you decide to enable this option I recommend using the gzip compression method as it will result in the best gains in performance.  Now I will offer a word of caution, this setting has caused some installations to become unresponsive in various DNN configuration environments.  Therefore, I strongly recommend that anyone looking to turn on this functionality backup the site before they change the value, otherwise you will be forced to manually modify the Host Settings table if this setting causes problems.  If you have this enabled and you have a page that isn't functioning correctly, you may use the "Exclude Paths" setting to specify rules that will exclude pages from compression.

Another alternative to the core compression is to use something like PageBlaster to handle compression, I personally have had better luck implementing external solutions like PageBlaster, but again this is only my experience with DotNetNuke.

Use Whitespace Filter

This setting will strip whitespace from your generated page content following the Regular Expression specified in the Whitespace Filter option under "compression settings".  This option is NOT needed if you are using a compression method.  If you are not using a compression method and still would like to see a reduction in page size you can use this option which will slim down the HTML size of your pages.

Conclusion

This has been a quick overview of the DotNetNuke performance settings.  As I mentioned at the beginning of this article, each environment and system is different and depending on your specific needs a different combination of settings may be appropriate.  If you have any comments about this article please share them below, if you have any technical questions please direct them to the forum.

Posted by Mitchel on Tuesday, April 15, 2008
 

Comments

No commecnts yet!!??? What, are DNN users nuts? Good article, I'm not sure I can thank you enough...gosh, that's worth like...$5 right? Where's that "donate" button?

-Joe

By Joe on Tuesday, July 29, 2008 at 7:25 PM

Thanks for this article. After doing some reading on page state persistence, it seems that the 'Memory' setting has never really been recommended. Where I got the silly idea to use it I'm not sure. Anyway, this has been set to memory for months and today I attempted to set it back to 'Page'. This was all bad. Could not log out, get error 500 on the host settings page. Not sure what's up but had to manually change the table entry to get the site working correctly again.

Any tip on how I might get this set back to 'Page' without causing breakage?

Thanks for all your excellent contribution to the DNN community.

By Jeff Hughes on Monday, October 06, 2008 at 2:41 PM

Jeff,

You might need to trigger an application restart after making the change, and viewstate will get REALLY confused during the transition.

If you want make a post in the forum and I can help you out more!

By mitchel.sellers@gmail.com on Monday, October 06, 2008 at 3:32 PM

Mitch,

Can Whitespace Filter be used to remove comments from the HTML. I'm thinking on long the lines of removing "Start Modules" comments generated by DNN.

By usheen on Monday, November 24, 2008 at 2:22 PM

It might be possible to edit the RegEx to do that.

However, in that specific scenario I would almost recommend using Snapsis PageBlaster to do the replacements. It is better suited for the task.

By mitchel.sellers@gmail.com on Monday, November 24, 2008 at 2:40 PM

Fantastic article! Following these helped both stabilise module performance and dramatically improve overall site performance...

By Keith Fisher on Monday, March 30, 2009 at 8:04 PM

Hi
Thanks for the great article.
I am using DNN to provide web replication to a team of sales people. I am having a great deal of problem with aliases and cashing. A new alias will not work at all until I clear the cash, there it works perfectly. Any ideas what is causing this and what setting will fix the problem?

By Richard on Tuesday, November 02, 2010 at 10:34 PM

THANKS! Just started using DNN and am trying to improve performance. I just followed the settings you suggested. So far, so good!

By Sue on Wednesday, November 10, 2010 at 6:44 PM

Name (required)

Email (required)

Website

CAPTCHA image
Enter the code shown above:

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Friend of RedGate

www.datasprings.com - DotNetNuke ModulesICG

Click here for advertising information.

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.