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.
IISDefault Documents
Depending on the specifics of your site configuration it is possible that you will have IISconfigured in various ways. For example, if you have PHP sites as well as .NETsites 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 http://www.iowacomputergurus.com. 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 IIShad to check for the existence of five (5) other pages BEFORErouting 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 www.iowacomputergurus.com 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.
Conclusion
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.