Performance Metrics for IIS Servers
Analyze the resource usage of sites, apps, and application pools in IIS servers and avoid server problems proactively with detailed, custom reports. The IIS monitor uses the Site24x7 Windows agent for monitoring. Install the Windows agent and get your IIS servers auto-discovered.
Once the IIS server monitor is successfully added to your Site24x7 account:
- View performance metrics for IIS monitors. Log in to Site24x7 and go to Server > Microsoft IIS Server > click the monitor.
- Add a Threshold and Availability profile to declare a specific resource as Critical, Down, or Trouble.
- Analyze trends and identify performance issues with exclusive performance reports.
- View key metrics in a single glance with the inventory and health dashboards, or create your own.
- Automate the start and stop of application pools and sites using IT Automation. Learn more.
Interpret IIS performance metrics
Microsoft IIS Server Details: Gives basic details on the IIS server configured along with the top five pools based on traffic, network usage, Common Language Runtime (CLR) exception, and memory.
Sites: Tells the status of a site with the bindings enabled.
Applications: Lists the active applications as well as their cache and session details.
Application Pools: Shows information on the active application pools, CLR memory, and thread data.
Microsoft IIS Server Details
Parameters | Description |
Microsoft IIS Server Details | Gives the host name, IP address, version, and platform of the IIS server |
Network Statistics | The total bytes of all requests received and sent to the client |
Requests Stats | A graphical view of the current and queued requests |
Top App Pools by Exceptions | The top app pools based on the number of CLR exceptions thrown per second. The higher this rate, the lower the performance. |
Top App Pools by Memory Usage (Working Set) | The top app pools based on shared and physical memory |
Top Apps by Traffic | The top app pools based on the traffic |
Top Apps by Network usage | The top app pools based on the network usage |
Connection Statistics | |
Total Connection Attempts | The total number of connection attempts |
Total Logon Attempts | The total number of login attempts |
Current Connections | The total number of active connections |
User Statistics | |
Current Anonymous Users | The total number of active anonymous users |
Current NonAnonymous Users | The total number of active non-anonymous users |
Cache Memory Usage | |
Current File Cache Memory Usage | The memory space occupied by the web service cache |
Output Cache Current Memory Usage | The memory space currently used by the output cache |
Cache Hits | |
File Cache Hits % | The percentage of successful requests handled by the cache from the total number of requests handled by the server |
Kernel: URI Cache Hits % | The percentage of Kernel-mode URI cache hits from the total number of requests handled by the server |
Metadata Cache Hits % | The percentage of metadata cache hits from the total number of requests handled by the server |
Output Cache Current Hits % | The percentage of output cache hits from the total number of requests handled by the server |
URI Cache Hits % | The percentage of user-mode URI cache hits from the total number of requests handled by the server |
ASP.NET Requests | |
Request Execution Time | The average time taken to successfully process a request |
Request Wait Time | The average time taken to start processing a request |
Requests Rejected | The total number of rejected requests |
Sites
Parameters | Description |
Site Name | The name of the site |
Binding | The bindings enabled in the site |
Status | The status of the site (Up or Down) |
Action | Choose to be notified when a particular site is Down, set thresholds for Binding Address and associate automations to be executed when the threshold is breached |
Current Connections | The number of active connections accessing the site |
Applications
Click Discover Applications to automatically add the applications in your IIS server for monitoring.
Parameters | Description |
Name | The name of the application |
Pool Name | The name of the application pool corresponding to that application |
Site Name | The name of the site |
Protocol | Enabled transfer protocols (HTTP, HTTPS, etc) |
Path | The path of the application |
Status | The status of the application (Up, Idle, or Down) |
Enable APM Insight | Get deeper visibility into your application code by enabling our APM Insight monitoring capabilities |
Active Application Details: | |
Name | The name of the application |
Requests/sec | Requests per second |
Total Failed Requests | The total number of failed requests which includes Request Timed Out (#500), Request Not Found (#404/#414), Request Not Authorized (#401) and Request Rejects (#503) |
Queued Requests | The number of requests waiting to be processed |
Total Bytes Received (KB) | The total bytes of all requests received |
Total Bytes Sent (KB) | The total bytes of response sent to the client |
Concurrent Requests | The maximum number of concurrent requests that are being processed by the application. A low number signifies effective usage of CPU. |
Application Request Details: | |
Name | The name of the application |
Total No of Requests | The total number of requests in the application |
Request Success | The number of requests that succeeded during the sample period |
Request Timed Out (500) | The number of requests that timed out |
Request Not Found (404) | The number of requests for resources that were not found |
Request Not Authorized (401) | The number of requests failed due to unauthorized access |
Request Rejected (503) | The number of rejected requests due to the request queue being full |
Requests Disconnected | The number of disconnected requests due to communication failure |
Anonymous Request | The number of requests that use anonymous authentication |
Session Details: | |
Name | The name of the application |
Active Session | The number of active (in-process) sessions |
SQL Connection | The total number of (out-of-proc) sessions, that uses SQL Server for storing sessions |
State Connection | The total number of (out-of-proc) sessions, that uses ASP.NET State Service for storing sessions |
Connection Timeout | The number of time out (in-proc) sessions |
Cache Details: | |
Name | The name of the application |
Total Entries | The total number of entries in the cache |
API Hit Ratio (%) | The cache hit-to-miss ratio when accessed through the external cache APIs |
Output Hits Ratio (%) | The percentage of total requests serviced from the output cache |
Memory Limit (%) | Whenever the memory percentage limit hits 100, the cache is trimmed |
Turnover Rate/sec | The number of additions to and removals from the cache per second. Higher turnover rate can indicate inefficient usage of cache. |
Application Pools
Parameters | Description |
Thread Statistics | The thread count for each active application pool running on that server |
Pool Name | The name of the application pool |
Runtime | The .NET runtime version of the app pool |
Max Processes | The maximum number of worker processes for this app pool. The higher this value, the higher the reliability, but the poorer the memory and CPU usage |
Status | Indicates us if the app pool has started or stopped |
Active Application Pools Details: | |
Pool Name | The name of the application pool |
Processor Time | The percentage of time all threads in the current process spend using the processors |
IO Operations/sec | I/O operations per second |
Thread Count | The number of threads during sampling |
Private/Virtual Memory (MB) | The size of the working set, in MB, that is used for that worker process only and not shareable by other processes |
Private Bytes (MB) | The current size, in MB, of the committed memory owned by this process. Memory leaks are identified by a consistent and prolonged increase in Private Bytes. This is the best performance counter for detecting memory leaks |
Shared/Physical Memory (MB) | The current size, in MB, of the working set of this process |
Common Language Runtime (CLR) Data: | |
Pool Name | The name of the application pool |
Loader Heap | The number of bytes committed by the class loader across all AppDomains. If the counter doesn't reach a steady state, it may point to a memory leak |
Assemblies | The total number of assemblies loaded since the application started |
App Domains | The peak number of application domains loaded since the application started |
Exceptions/sec | The number of CLR exceptions thrown per second. The higher this rate, the lower the performance |
Common Language Runtime (CLR) Memory Data: | |
Pool Name | The name of the application pool |
Garbage Collection Time (%) | The percentage of time spent performing the last garbage collection |
Total Heap (MB) | The sum of the large object heap and the generation 1 and 2 heaps |
Gen 0 Heap (MB) | The size (in megabytes) of the Gen 0 heap |
Gen 1 Heap (MB) | The size (in megabytes) of the Gen 1 heap |
Gen 2 Heap (MB) | The size (in megabytes) of the Gen 2 heap |
Large Object Heap (MB) | The size (in megabytes) of the large object heap |
Common Language Runtime (CLR) Thread Data: | |
Pool Name | The name of the application pool |
Physical Threads | The number of native operating system threads created and owned by CLR |
Logical Threads | The current managed thread objects in the application |
Queued Threads | The total number of threads that are currently waiting to acquire a managed lock |
Performance reports for IIS
Log in to Site24x7 and go to Reports > Microsoft IIS Server. The following reports are available for IIS monitoring:
- Availability Summary Report
- Busy Hours Report
- Health Trend Report
- Performance Report
- IIS Sites Report
- IIS App Report
- IIS App Pools Report
- Top N Microsoft IIS servers by network traffic
Related Articles
- Add an IIS server monitor | IIS Automation
- Other Microsoft applications supported | Add a Windows monitor
- Server monitoring architecture
- Other OS platforms supported: Linux | FreeBSD | OS X
- Troubleshooting Tips