IIS Performance Assessment
Web application performance should be considered throughout all phases of a development project. While much attention is paid to things like software architectures and database design, not much thought is usually given to Internet Information Server (IIS) performance tuning.
Out of the box IIS comes relatively ready to go with default settings. As the performance needs increase, however, there are techniques that can be employed to squeeze every ounce of performance out of IIS.
How to Improve IIS Performance
This first thing that should be configured is something called default documents. All web applications have a default document or the first page a user accesses when they visit a website. IIS comes configured with a number of potential default documents with names like default.htm or default.aspx. If the actual default document is not first in the list, performance can be impacted as the Internet Information Server looks down the list for an existing default document in the root of the web application. Making sure this list is in the correct order is a simple way to improve IIS performance.
Another technique is called caching. Caching means simply saving a copy of static content on the user’s browser so the user does not request and download the same file(s) every web page visit. If this is not configured properly, then unnecessary bandwidth and server resources are consumed. There are settings in the web.config, a file that governs a web application that identify what is to be considered a static file and only delivers this file once per user session. These settings should be set to ensure static content is only downloaded once per session.
Within a response from the web server, a series of what are called headers are downloaded to the client. These headers are bits of information that may or may not be useful to the browser. In IIS, the default HTTP Response Headers can be turned off. These provide no useful information to the average use case and client browser.
During a request to IIS, there are a series of HTTP modules that run to process things like security or caching. If a certain feature or HTTP module is not needed for the website then it should be disabled. The HTTP module will run regardless of whether the feature is being used or not, putting undue stress on the server.
Identify IIS Performance Problems with Free Microsoft Tools
If your web server is experiencing IIS performance problems, various tools can be used to identify problems. LogParser is a free Microsoft tool that can analyze IIS log files using an SQL query like syntax. With this tool, you can quickly isolate such things as caching problems or slow responding URLs. There are literally infinite ways to query IIS logs with this tool. Another free Microsoft tool called PAL (Performance Analysis of Logs), can gather performance metrics in real-time for later analysis. This tool outputs comprehensive reports along with root cause possibilities and solutions.
Small changes can add up to increased improvement of IIS performance of your web application. If your web application is experiencing difficulty, the first step towards a solution is to employ analysis tools like LogParser or PAL.
Have any additional tips on how to improve IIS performance? Feel free to comment below and share them with me.