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 PersistenceThis 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 MethodThis 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 SettingThis 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 CacheabilityThis 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 FilterThis 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. ConclusionThis 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. |