How to Monitor IIS Performance

How to Monitor IIS Performance

IIS is a web server for sharing information with the users on internet, intranet and extranet. So, ensuring its best performance and perfect response time is critical for the user experience. In this article, you will find all the ways, including HTTP ping checks and Performance Monitor software. Now, assuming you have windows web hosting set up with IIS, let’s dive in.

Perform HTTP Testing

By setting up a simple HTTP check that runs every minute, you can get a threshold, which you can use to determine whether the site is up or down. You will also be able to measure the response time. You can track 200 OK status. There is another advantage of setting up a simple HTTP check. It helps you to create a simple SLA monitor for monitoring your web application. You can perform HTTP testing using Retrace. It will provide you with the Response Time, Trend and Status, just like this way:

how to monitor iis performance

As you can see in Status, Retrace is notifying you about Response Time of 0.079s. You are also seeing a Result String of 1 match of “number_of_nodes”:19.Basically, it means that the number of nodes is not the one that we are expecting. In the third row, there is a notification about no 200 OK HTTP status. It indicates that the request hasn’t been succeeded.

Use Performance Monitor

Performance Monitor is an awesome tool, which comes with Windows. It provides you with real time graphics, which you can use to analyze the IIS performance. By using the software, you can get tons of information, including IO stats and network traffic. You can define alerts as well. You can get its access by clicking on Start and search for Performance Monitor. Then click on the result.

Use Task Manager

Task Manager is a great tool for getting all the insights related to IIS. You can monitor CPU and memory usage of inetinfo.exe and w3wp.exe to monitor the IIS services. It enables you to identify major problems, including memory leak that hampers the web server’s performance. All you have to do is activate several useful metrics to display, including Working Set Delta for memory. You can find the detailed way of using Task Manager to monitor right here.

Use Event Viewer

You can utilize Application Log of the Event Viewer to see the IIS events. In this way, you can have a detailed idea about the issue that you are facing. You have to check column “Source” to find if it contains NNTP Service (NNTPSVC) or WWW Service (W3SVC) keywords. They indicate problems related to IIS activities. You will also have to look for other keywords, including FTP Service (MSFTPSVC), SMTP Service (SMTP SVC), Active Server Pages, Microsoft Distributed Transaction Control (MSDTC) and Certificate Services related to SSL (CERTSVC).

Use Recommended Counter Monitors

If you use IIS, you get a massive advantage for getting the access to all of the metrics through Windows Performance Counters. There are tons of them. Here, you will find the most significant ones:

System/Process Counters

  • CPU%: You should check the overall server and CPU usage for your IIS Worker Process. You must ensure that the value never exceeds 80%, as it will result in a massive performance issue.
  • Memory: The currently used and available memory for the ISS Worker Process should be monitored. Make sure that 50% of the memory are available to keep the system healthy.

IIS Performance Counters

  • Web Service (Bytes Received/Sec and Bytes Sent/Sec): You should monitor bytes received and sent per second. It will help you to detect the possible web traffic spikes.
  • Web Service (Current Connections): There is no specific normal value for current connections. You have to specify it with respect to your experience using the apps.

ASP.NET Performance Counters

  • ASP.NET Applications (Requests/Sec and Requests in Application Queue): Requests dealt by both IIS and ASP.NET should be monitored. In case of Requests in Application Queue, make sure that the number is not high. It will enable the server to deal with the requests with a great pace.
  • .NET CLR Memory (% Time in GC): Ensure that your app spends less than 5% of its time in performing garbage collection. But if it’s not the case, you have to check the way of performing object allocations.

ASP.NET Error Rate Counters

  • .NET CLR Exceptions (# of Exceptions Thrown): You can use it to monitor all the thrown .NET exceptions. Even if they are thrown away, you will have no problem tracking them. Make sure that the number of exceptions is not high. It will help you to get rid of the performance issues, which are hard to identify.
  • ASP.NET Applications (Errors Unhandled During Execution/Sec): You should monitor the number of exceptions that haven’t been dealt with.
  • ASP.NET Applications (Errors Total/Sec): The number of compilation, pre-processing and execution errors should be tracked.

Conclusion

In this article, you have learned various ways of monitoring IIS performance. HTTP Testing is the simplest one among them.

But if you want real time information, use the Performance Monitor tool.

Check out these top 3 Windows hosting services:

Ultahost
CA$3.99 /mo
Starting price
Visit Ultahost
Rating based on expert review
  • User Friendly
    4.3
  • Support
    4.8
  • Features
    4.5
  • Reliability
    4.0
  • Pricing
    4.8
Kamatera
CA$5.51 /mo
Starting price
Visit Kamatera
Rating based on expert review
  • User Friendly
    3.5
  • Support
    3.0
  • Features
    3.9
  • Reliability
    4.0
  • Pricing
    4.3
InterServer
CA$3.44 /mo
Starting price
Visit InterServer
Rating based on expert review
  • User Friendly
    4.3
  • Support
    4.5
  • Features
    4.8
  • Reliability
    4.9
  • Pricing
    4.3

How To Create A Site Navigation Hierarchy With ASP.NET

As your site grows, and as you move pages around in the site, it can become diff
3 min read
Max Ostryzhko
Max Ostryzhko
Senior Web Developer, HostAdvice CTO

How To Install and Configure MySQL for PHP Applications on Windows IIS 7

When hosting PHP apps on IIS 7 it’s highly recommended you use the Miscrosoft
3 min read
Idan Cohen
Idan Cohen
Marketing Expert

How to Deploy IIS and ASP.NET with the Puppet Module

Puppet is a great tool for automating Windows server management, including file
2 min read
Eliran Ouzan
Eliran Ouzan
Web Designer & Hosting Expert

How to Install PostgreSQL on an Ubuntu VPS Running Nginx

Brief description Having a remote database system with a client library, one ma
2 min read
Max Ostryzhko
Max Ostryzhko
Senior Web Developer, HostAdvice CTO
HostAdvice.com provides professional web hosting reviews fully independent of any other entity. Our reviews are unbiased, honest, and apply the same evaluation standards to all those reviewed. While monetary compensation is received from a few of the companies listed on this site, compensation of services and products have no influence on the direction or conclusions of our reviews. Nor does the compensation influence our rankings for certain host companies. This compensation covers account purchasing costs, testing costs and royalties paid to reviewers.
Click to go to the top of the page
Go To Top