March 09, 2011

Simple IIS Performance Improvement

I know that many of the readers of this blog manage their own webservers and i have a helpful tip to share about improving the initial load time of your webserver.  Although this modification I am recommending is a SMALL change and has a small impact, it is still worth doing as it will improve the performance and reduce the amount of work that IIS has to do.

IIS Default Documents

Depending on the specifics of your site configuration it is possible that you will have IIS configured in various ways.  For example if you have PHP sites as well as .NET sites and static HTML sites it is possible that IIS will contain many default documents.  These default documents are used to determine which page to load when a URL comes in without a file.  For example going directly to  Now, this is page is actually served by Default.aspx, however, what does IIS have to do in this situation?

Well, the way that IIS works it runs through the default documents, in order, checking for the specific file.  If it exists it uses it, if not, it moves on.  My default configuration on my Windows Server 2008 box was as follows:

  • Default.htm
  • Default.asp
  • index.htm
  • index.html
  • iisstart.htm
  • Default.aspx

What does this mean?  Well it means that if a request came in without a file name that IIS had to check for the existence of five (5) other pages BEFORE routing the request to the proper location.  Since my site is ASP.NET there is no reason for this.  I moved the order around to place default.aspx at the top of the page.  Looking at my page load times I noticed that BEFORE the change a request to was served in 0.843 seconds according to FasterFox, after this change I averaged 0.357 seconds, which matches all other pages on my site.


This is a simple configuration change that can be made to your ASP.NET (or DotNetNuke sites) configurations within IIS that will net a small performance improvement for your main page requests.  Yes a small impact, but potentially on one of the most important pages of your site.

tags: DNN, ASP.NET, General Tech
comments powered by Disqus

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.

Content Copyright

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.