New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Performance Update - Part 3

I have blogged a few times on the performance testing and improvements in 4.4.0.  This Blog will focus on two areas which were added towards the end of the development cycle.

Compression/White Space

An HttpCompression and Whitespace filter have been added as a single HttpModule.  They are implemented as a single module call Compression.  This module was based on the Blowery Compression Module (whose code was donated to the project a few months ago).  As the original Blowery code was in C# this module is also in C#.  A number of changes have been made from the Blowery module:

  • Some settings have been moved from the web.config to the Host Settings (under the new Performance Section) - these include the type of compression (None, Deflate and GZip) and the level of compression.
  • The rest of the settings have been moved out of web.config into a separate xml file (Compression.config) which can be found in the \Config folder and which is copied to the root folder when first needed.  This config file allows the user to set the excluded paths and mime-types.
  • A Whitespace filter (based on a regular expression (regex)) has been added to the module.  It is enabled under the performance section - and the regex used to strip the whitespace can also be set there.

Note: As this is implemented as an HttpModule two things should be noted - the module must be enabled in web.config, in the HttpModules section - if you are upgrading copy the relevant node from release.config to your web.config file.  Secondly, only file types processed by ASP.NET will be compressed - ie css and js files are processed normally.

Minimal Install

Originally we had hoped to enable a system that would not "force" all assemblies to be loaded on Application Start, by moving some of the assemblies to subfolders of \bin.  This reduces the memory footprint of dotnetnuke, when there are assemblies installed that are rarely or never used.

Unfortunately, we ran into issues with upgrades, and so we decided not to implement those changes.  However, it still remains true that the \bin should only contain assemblies the application needs.  We therefore decided that, while all module zips are included in the Install package, only HTML and Links are installed by default - these are required for the default template.

The other modules are present (renamed as .resources) and can be installed through the Module Definitions page, either singly or all at once, by checking the module(s) in the list of available modules at the bottom of the page, and clicking "Install Now".


Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out