These days in web application, performance is very crucial from user and business point of view. Everyone wants better performance and response from web application. In this tip, I am going to highlight ways to improve performance from Internet information server serving faster web pages to your users.
Disable IIS Logging
In IIS, we can log the details of an HTTP request like client IP, time taken, response size, cookie, etc. into a file. This information helps to find the load on the server in terms of number of requests, size and time taken to serve the request which consume IIS resource, so this feature can either be disabled or we can set a number of essential events to log in server.
To disable IIS logging, open IIS giving “
inetmgr” command in run window. Double click on logging Icon.
Click on the disable option on the right pane. Remember that you can set logging option both in server level and website level.
In production environment, ASP debugging mode is required to help you quickly locate bugs and interactively test your server-side scripts. Stopping debugging mode will save you a great amount of processing power.
To disable debugging: open IIS giving “
inetmgr” command in run window. Select the web site, double-click the ASP feature.
Select Compilation > click to expand Debugging Properties > Both Enable Client-side Debugging and Enable Server-side Debugging false should be set to fare set to False.
ASP Threads Per Processor
This value defines limit of maximum number of ASP requests that can be executed simultaneously. It should be set to the number of threads that will consume 50% of processor time. To handle more requests, its value should be increased. The default value of Threads Per Processor Limit is 25. The maximum recommended value for this property is 100. Set this property as per your concurrent requests.
To set this property, open ASP feature as described above. Click to expand Limits Properties under Behavior > click Threads Per Processor Limit > enter the desired value for Threads Per Processor Limit.
ASP Queue Length Property
This property is to ensure good response time while minimizing how often the server sends the HTTP 503 (Server Too Busy) error to clients when the ASP request queue is full. If the value of ASP Queue Length property is too low, the server will send the HTTP 503 error with greater frequency. If the value of ASP Queue Length property is too high, users might perceive that the server is not responding when in fact their request is waiting in the queue.
Set the value of the ASP Queue Length property just above the peak value. If you do not have data for adjusting the ASP Queue Length property, set a one-to-one ratio of queues to total threads. For example, if the ASP Threads Per Processor Limit property is set to 25 and you have four processors (4 * 25 = 100 threads), set the ASP Queue Length property to 100 and tune from there.
Enable IIS HTTP Compression
By enabling the IIS compression, we can utilize the bandwidth in a more efficient way. It enables faster data transmission between compression enabled browser and client regardless of whether your content is served from local storage or a UNC resource.
To enable HTTP compression:
- Open IIS.
- Click on compression features to open it, for a particular website.
- Enable dynamic and static compression.
See the below snapshot for more details:
Enable Output Caching
Caching is the feature which helps to improve the speed of the IIS by taking a copy of a webpage visited by most recent user. If a new user requests the very same webpage located in the cache, IIS will send the copy from its cache without reprocessing the contents. Output caching can significantly improve your server response time for dynamic contents.
Refer to the link Output Caching to see how to configure it.