How To Monitor IIS Performance


IIS is an amazing tool once you know how to monitor it correctly. It can be quite confusing, though, which is why you should know about the ping check, performance counters, and application pools.


To manage all this properly, you should also know how to make use of a management system for application performance.


Feeling curious?


Let’s get started!

Monitoring Websites With HTTP Testing

HTTP testing sounds very technical, but it’s actually a simple check that you can set up to run every minute or so. It will let you know about the status of your site in a jiffy. If it’s down, you can get working on it right away. The site’s response rate is also recorded so you can quickly handle it if things get too slow. Other things to monitor for are specific response text and a 200 OK status.


This is also a great way through which you can establish an SLA monitor. This will let you know whether your application is available, regardless of the fact that you’re online or not.

Monitoring IIS with HTTP Checking


With HTTP checking, you can get to know if your application pool is up to par. Sometimes, a web application may stop working for no reason at all. If you know of this occurrence as soon as it happens, you can take the required steps and troubleshoot to find out the issue.


The IIS Application Pool may crash and quit working due to an application error that is fatal, or something connected to the user of the app pool. It could also stop due to other issues, including bad configurations.


This pool runs under the name w3wp.exe. We can monitor these application pools through specific tools. You can find out about one such monitoring tool by visiting


There is one strange thing about application pools. They can be started but won’t show as w3wp.exe if there is no traffic being directed towards the app itself. Therefore, you should look at the status if you notice that w3wp.exe isn’t running.


Preferred Performance Counters in IIS Monitoring

When you use IIS for a web server, you get several metrics through Windows Performance Counters. These would be available among .NET, ASP.NET, and IIS itself. The best ones are discussed below:

System Or Process Counters

These will monitor the CPU usage and the overall server usage for your IIS Worker Process. The system will also track the available memory of the IIS Window process and tell you how much has been used so far.

IIS Performance Counters

These provide web services for telling you how many bytes have been received per second, which will let you track spikes and dips in traffics. The next service counts how many bytes have been sent per second, which is useful in the same data analysis. The third web service is that of monitoring current connections. This will tell you the normal value through your experience with the app itself.

ASP.NET Performance Counters

These counters count the applications or requests sent per second. Static files and some other requests are only for IIS processing, not ASP.NET, so one has to be careful here.


The counters also handle the ASP.NET application requests currently in the queue. If we get a high number here, the handling of requests may not be quick enough to retain an average user’s attention.


We can also gage the /NET CLR memory here, which is the percentage of time an app spends in garbage collection. If this is more than 5%, some adjustment may have to be made to the object allocations.

ASP.NET Error Rate Counters

With such counters, we get all the executions thrown, whether they are ASP.Net or .NET CLR. If the rate of errors is too high, a number of issues can occur. It is, hence, essential that we understand the errors unhandled during the execution process and the error that occurs during pre-processing, execution, and compilations.


Researcher and Content Writer at e-Syndicate Network. A constant learner. Learning and growing every day. Salman has over 5 years of experience in the fields of Digital Marketing, Content Writing, Brand and Business Development.