You are hereBlogs / rahul's blog / DotNetNuke Optimization - Tips & Tricks

DotNetNuke Optimization - Tips & Tricks


rahul's picture

By rahul - Posted on 26 January 2010

I present below various Tips & Techniques (not in any particular order) for optimization of a typical DotNetNuke installation.I learned these while using DNN over time, while I encountered some of them while browsing over web.

A typical DNN install requires considerable server resources, and creates significant traffic between the database & web server. These techniques aim to reduce both of these where-ever possible, along with some other optimizations. Some of these may not apply to you, and I advise you to exert discretion in deciding which of these work best for you.

DNN Optimization:

  1. Host Settings
    1. Set the "Performance Setting" to "Heavy Caching".
    2. Depending upon Hosting resources, set the "Compression Setting" to "Deflate Compression" or "GZip Compression".
    3. Depending upon Hosting resources, enable "Whitespace filter" (not of much use, if you have also enabled compression).
    4. Disable "Users Online" for Installations on which "Users Online" module is NOT used.
    5. Set the "Scheduler Mode" to "Timer Method". "Request Mode" causes the Scheduler to be invoked on every request to a page of your installation.
    6. On sites where Logging is NOT mission critical, enable "Event Log Buffer", so that log entries are buffered before being flushed.
    7. On sites where the Site files do NOT update frequently, disable "Auto-sync filesystem".
    8. Uncheck "Enable Ajax" on portals that are just informative, and do NOT involve management tasks.

  2. Admin Settings
    1. On DNN 5 portals, unselect "Enable Skin Widgets" if they are not being used to prevent redundant skin file downloads.

  3. Log Settings
    Disable all Logs NOT required on an installation. In particular,
    1. Disable "Application Start".
    2. Disable "Application End".
    3. You might also want to disable others like "Scheduler Started", "Scheduler Event Started" etc. depending upon if they are not much useful to you. However, "Sceduler event Failure" should not be disabled to enable debugging of any scheduler issues.

  4. Schedule Settings
    Disable or customize all Schdules NOT required on an installation. In particular,
    1. Configure "DotNetNuke.Services.Scheduling.PurgeScheduleHistory, DOTNETNUKE" to run every 5 days (or whatever fits best to your portal depending upon how much Schedule Log your portal generates).
    2. Configure "DotNetNuke.Services.Search.SearchEngineScheduler, DOTNETNUKE" to run every 5 days and retry after 1 day (again depending upon what fits best to your portal. There is no one size fits all approach here).

  5. Javascript & CSS Optimization
    1. Manually optimize all css & js files to remove redundant white-space (or use a free or paid DNN module e.g. Page Blaster to manage this task for you).
    2. Zero out portal.css (if you dont use it, or better still, delete it).
    3. Check ~/portals/_default/default.css for any styles not being used on your portal.
    4. Try to use any other menu except SolPart Menu.
    5. Try NOT to use table based skins (improves the perceived rendering of your page).
  6. Cookies: Set the appropriate value for Persistent & Session cookies in web.config.

If you have any other suggestions, or otherwise want to discuss any of the above points, feel free to use the comment form below.

DNN Optimization:

1) Set the appropriate value for Persistent & Session cookies in web.config.


    HOST SETTINGS
    -------------
2) Set the "Performance Setting" to "Heavy Caching"

3) Depending upon Hosting resources, set the "Compression Setting" to "Deflate Compression" or "GZip Compression"

4) Depending upon Hosting resources, enable "Whitespace filter".

5) Disable "Users Online" for Installations on which "Users Online" module is NOT used.

6) Set the "Scheduler Mode" to "Timer Method".

7) On sites where Logging is NOT mission critical, enable "Event Log Buffer", so that log entries are buffered before being flushed.

8) On sites where the Site files do NOT update frequently, disable "Auto-sync filesystem".

9) Uncheck "Enable Ajax" on portals that are just informative, and do NOT involve management tasks.

    ADMIN SETTINGS
    --------------

9) On DNN 5 portals, unselect "Enable Skin Widgets" if they are Not being used to prevent redundant skin file downloads.


    LOG SETTINGS
    -----------------

    Disable all Logs NOT required on an installation. In particular,

9) Disable "Application Start"

10) Disable "Application End"


    SCHEDULE SETTINGS
    -----------------

    Disable or customize all Schdules NOT required on an installation. In particular,

11) Configure "DotNetNuke.Services.Scheduling.PurgeScheduleHistory, DOTNETNUKE" to run every 5 days.

12) Configure "DotNetNuke.Services.Search.SearchEngineScheduler, DOTNETNUKE" to run every 5 days and retry after 1 day.

    
    JAVASCRIPT & CSS OPTIMIZATION
    -----------------------------

13) Manually optimize all css & js files to remove redundant white-space.

14) Zero out portal.css.

15) Check ~/portals/_default/default.css

16) Remove whitespace in default.aspx and remove html comments in DNN.

17) Try to use any other menu except SolPart Menu.


18) Try NOT to use table based skins.

Post new comment

The content of this field is kept private and will not be shown publicly.

Mollom CAPTCHA (play audio CAPTCHA)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.