Learn More





DNN Community Blog

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.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
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 (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (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)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?