Click here to Skip to main content
15,886,714 members
Articles / Web Development / ASP.NET
Tip/Trick

IIS Performance Improvement

Rate me:
Please Sign up or sign in to vote.
4.64/5 (8 votes)
24 Oct 2014CPOL3 min read 44.5K   20   6
This tip is about configuration of IIS for performance optimization of websites

Introduction

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.

ASP Debugging

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:

  1. Open IIS.
  2. Click on compression features to open it, for a particular website.
  3. 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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Suggestion2018 Updated article Pin
Alanzo Cam25-Jan-18 13:19
Alanzo Cam25-Jan-18 13:19 
QuestionDisable IIS Logging Pin
giadich29-Oct-14 3:39
giadich29-Oct-14 3:39 
AnswerRe: Disable IIS Logging Pin
Sudhir Dutt Rawat29-Oct-14 6:10
Sudhir Dutt Rawat29-Oct-14 6:10 
SuggestionDynamic Compresion Pin
Member 382109327-Oct-14 13:35
Member 382109327-Oct-14 13:35 
QuestionScreen caps Pin
Member 1021796527-Oct-14 10:09
Member 1021796527-Oct-14 10:09 
Did you really really really literally took these pictures by a camera/phone/webcam? WTF | :WTF: This article is just a pure Web 0.1 gem (see thedailywtf for reference).
AnswerRe: Screen caps Pin
Sudhir Dutt Rawat27-Oct-14 18:44
Sudhir Dutt Rawat27-Oct-14 18:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.