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.
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 https://stackify.com/how-to-monitor-iis-performance/.
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.