Monitoring Iis Performance: Tips For Optimal Server Management

how to monitor iis performance

Monitoring the performance of your Microsoft IIS server is critical to maintaining optimal service delivery and ensuring a seamless user experience. IIS plays a pivotal role in supporting web applications on Microsoft Windows operating systems, and any slowdown or performance issue can adversely affect the entire application's performance. Therefore, it is essential to proactively track and measure IIS server performance to identify and resolve issues before they significantly impact websites and application pools. This involves monitoring system-related counters such as CPU, memory, and disk performance, as well as web server counters like web service caches and volume of data exchanged. By utilising tools like SolarWinds® Server & Application Monitor and eG Enterprise, you can gain valuable insights, troubleshoot issues, and optimise server performance to deliver a seamless user experience.

Characteristics Values
HTTP Testing Set up a simple HTTP check that runs every minute to determine whether the site is up or down and to measure the response time.
Performance Monitor Provides real-time graphics to analyse IIS performance, including IO stats and network traffic.
Task Manager Monitor CPU and memory usage of inetinfo.exe and w3wp.exe to monitor IIS services and identify major problems, including memory leaks.
System/Process Counters Monitor overall server and CPU usage for your IIS Worker Process.
Memory Track the currently used and available memory for your IIS Worker Process.
Web Service Monitor bytes received and sent per second to detect potential web traffic spikes.
Current Connections No specific normal value; this must be specified with respect to your experience using the apps.
ASP.NET Applications Monitor requests dealt with by both IIS and ASP.NET. Ensure the number of requests in the application queue is not high.
.NET CLR Memory Ensure your app spends less than 5% of its time performing garbage collection.
.NET CLR Exceptions Monitor all thrown .NET exceptions.
ASP.NET Applications Monitor the number of exceptions that haven't been dealt with.
Errors Total/Sec Track the number of compilation, pre-processing and execution errors.

shundigital

HTTP testing

One of the simplest and most effective ways to monitor IIS performance is to set up a simple HTTP check that runs every minute. This check will provide a baseline to determine whether your site is up or down and help you track its response time.

For instance, you could monitor for a 200 OK status or specific text that you know should be included in the response. However, be careful not to rely on cached responses, as a 200 status response is cacheable.

Additionally, a simple HTTP check is a good way to establish a basic SLA monitor for your web application. This can be done regardless of the number of servers you have.

For example, you can use Retrace to monitor HTTP checks against Elasticsearch. You will receive alerts if the number of nodes is unexpected or if it doesn't find an HTTP status of 200 OK.

shundigital

Performance Monitor software

Performance Monitor is a Windows tool that provides real-time graphics to help you analyse the performance of your IIS server. It gives you access to a wealth of information, including IO stats and network traffic. You can also set up alerts to notify you of any issues.

To access Performance Monitor, click on Start and search for "Performance Monitor", then click on the result.

Task Manager is another useful tool for IIS monitoring. It allows you to monitor CPU and memory usage of inetinfo.exe and w3wp.exe to keep an eye on your IIS services. This can help you identify major problems, such as memory leaks, that may be affecting your web server's performance. To use Task Manager effectively, make sure to activate several useful metrics, including Working Set Delta for memory.

Additionally, you can use the Application Log of the Event Viewer to see detailed information about any issues you're facing with your IIS server. Check the "Source" column for keywords like NNTP Service (NNTPSVC), WWW Service (W3SVC), FTP Service (MSFTPSVC), SMTP Service (SMTP SVC), Active Server Pages, Microsoft Distributed Transaction Control (MSDTC), and Certificate Services related to SSL (CERTSVC) to identify problems related to IIS activities.

shundigital

Monitor load and usage

Monitoring load and usage is essential to maintaining optimal service delivery and ensuring fast response times on your servers. Here are some ways to monitor load and usage for IIS (Internet Information Services) performance:

Track Key Server Resources

An IIS monitoring tool allows you to monitor your web server and system resources, helping you make informed decisions about balancing IIS website and server workloads. For example, SolarWinds SPCB provides insights into CPU utilisation and memory bottlenecks, helping to prevent excessive paging and potential performance issues due to high memory consumption. This information can also help you avoid unnecessary hardware purchases.

Monitor Response Time

When a web application or website slows down, the issue could lie with the IIS server, the web application itself, or another server if it's a multi-tiered application. High memory utilisation and inadequate system resources can also lead to slower response times, impacting user experience. Monitoring tools can help identify which servers the IIS server is communicating with, aiding in improving server response time.

Monitor SSL Certificate Expiration

The IIS web server performance monitoring capabilities in tools like SolarWinds SPCB provide graphical and numerical details about the valid dates of your SSL certificate, including the number of days until expiration. This information is crucial for maintaining the security and integrity of your website and server.

Monitor Application Pools

Application pools are a crucial aspect of an IIS server system. A single application pool can have multiple IIS worker processes associated with it, and websites are mapped to different application pools, sharing their resources. Monitoring tools can help track all application pools and identify any resource hogs, ensuring optimal performance across all websites.

Monitor .NET CLR and Application Code

Monitoring tools can provide code-level visibility into the .NET CLR and application code, helping to identify hotspots and performance bottlenecks. This is especially important for development and DevOps teams to quickly detect and resolve issues.

shundigital

Monitor SSL certificate

Monitoring your SSL certificate is an important part of maintaining the security and privacy of your website. Here are some detailed steps and best practices to help you monitor your SSL certificate:

Verify Certificate Installation:

  • Browse to your website using HTTPS. If the website loads without errors, your SSL certificate is likely installed correctly.
  • Use online certificate checkers such as Qualys, DigiCert, or SSL Shopper to verify your publicly accessible site's SSL certificate.
  • For added assurance, consider using tools like OpenSSL or www.ssllabs.com to check for vulnerabilities such as 56-bit DES or SSLv2 enabled.

Test Your Certificate:

  • Test your SSL certificate by making a request to your website. You can use tools like Microsoft's AppCmd.exe command-line tool or Microsoft.Web.Administration programmatically.
  • After testing, you may optionally configure SSL options, such as making SSL a requirement for your website.

Monitor Certificate Expiration:

  • Regularly check the expiration date of your SSL certificate to ensure it remains valid. You can use tools like Nagios, which has plugins to check SSL certificates for validity and impending expiration.
  • Set up alerts or notifications to inform you when your certificate is nearing its expiration date. This will help you renew or update your certificate before it expires.

Monitor Certificate Authority:

  • Ensure that your certificate is issued by a trusted Certificate Authority (CA). Browsers typically verify the issuer of the certificate, and if it is not from a known and trusted CA, users will receive warnings.
  • Consider using a reputable public CA such as VeriSign, GeoTrust, DigiCert, Global Sign, Namecheap, or Verisign.

Monitor Certificate Binding:

  • Verify that your certificate is properly bound to your website. In IIS, this can be done by navigating to your website, selecting bindings, and ensuring that the correct certificate is selected from the drop-down menu.
  • Create a redirect rule to force HTTP to redirect to HTTPS for your website, ensuring all connections are secure.
Get Rid of Insects in Your Monitor

You may want to see also

shundigital

Monitor CPU and memory usage

Monitoring CPU and memory usage is crucial to ensure optimal performance of your IIS application. Here are some detailed instructions to help you with this process:

Use Task Manager:

The Task Manager is a built-in tool that provides insights into CPU and memory usage for inetinfo.exe and w3wp.exe, which are essential for monitoring IIS services. It helps identify issues such as memory leaks that impact web server performance. To use it effectively, activate relevant metrics like the Working Set Delta for memory.

Utilize Performance Monitor:

Performance Monitor is a powerful tool that comes with Windows and provides real-time graphics and data about IIS performance. It offers information such as IO stats and network traffic. You can also set up alerts to stay informed. To access it, click on Start and search for "Performance Monitor," then click on the result.

Monitor System/Process Counters:

Keep an eye on the overall server and CPU usage for your IIS Worker Process. Ensure that the CPU usage doesn't exceed 80%, as it can lead to significant performance issues. Track both the currently used and available memory for your IIS Worker Process, aiming to keep at least 50% of the memory available to maintain system health.

Analyze IIS Performance Counters:

Monitor the "Web Service" counters in Performance Monitor to detect potential spikes in traffic. This includes tracking "Bytes Received/Sec" and "Bytes Sent/Sec." Additionally, keep an eye on "Current Connections," which can be determined based on your experience with the apps.

Advanced Tools:

For more advanced monitoring, consider using tools like SolarWinds® Server & Application Monitor (SAM) or SolarWinds® AppOptics™. SAM helps monitor IIS key performance indicators, site and application pool performance, and server resources. AppOptics collects data on CPU, memory, network, disk, and more, providing insights into the root causes of performance issues.

Frequently asked questions

IIS monitoring is the process of tracking and measuring the performance of your Microsoft IIS server over time to maintain optimal service delivery.

If a website or web application experiences slowdowns or timeouts due to IIS request slowdowns, users will likely leave the website or send help desk tickets. IIS monitoring can help maintain fast response times and keep your business running without interruption.

IIS web server monitoring typically consists of two key counters: system-related counters and web server counters. System-related counters involve monitoring elements of the system like CPU, memory, and disk performance, while web server counters involve monitoring different web server caches and web services, which can indicate the volume of data being exchanged and the number of users accessing the web service.

You can monitor IIS performance by performing HTTP testing, using Performance Monitor software, and using recommended counter monitors.

Some IIS monitoring tools include SolarWinds® Server & Application Monitor (SAM), SolarWinds® AppOptics™, SolarWinds® Papertrail™, and ManageEngine Applications Manager.

Written by
Reviewed by
Share this post
Print
Did this article help you?

Leave a comment