Performance Counters for Monitoring IIS

Published Jun 11 2019 08:04 AM 58.1K Views

IIS default configuration is optimized for speed. However, you may notice slowness loading your websites reasons such as the inefficient application code.


I would recommend checking the performance counters below if you want to monitor the resource usage in IIS server:


  • Processor (All instances – % Processor Time): CPU consumption by processes
  • Memory (Available Mbytes): Available memory in Windows Server
  • HTTP Service Request Queues (CurrentQueueSize): The request count in the IIS queue
  • .NET CLR Exceptions (# of Exceptions Thrown/sec): Amount of System.NullReferenceException thrown
  • APP_POOL_WAS (For all listed Application Pools):
    • Current Application Pool State: The state of application pools
    • Current Application Pool Uptime: The web application uptime period since the last restart


In order to monitor performance counters:

  1. Go to Start
  2. Search for “Performance Monitor
  3. Click on the green plus sign (+) at the top of the window
  4. Choose a category (Processor, Memory etc.)
  5. Choose a sub-category (% Processor Time, Available Mbytes etc.)
  6. Choose an object (_Total, <All instances> etc.)
  7. Click “Add
  8. Click “OK


With the instructions above, you can monitor the real-time statistics of your server. If you want to save results:

  1. Right click on “Performance Monitor” under “Monitoring Tools
  2. Choose “New > Data Collector Set
  3. Enter a name and click “Next
  4. Select a folder to save the data. Click “Next
  5. Check “Start this data collector set now” and click “Finish
  6. There will be an arrow icon on the collector set. It means it’s recording the logs. Once you want to stop recording, right click on the collector set and select “Stop
  7. Go to the path you specified in Step 4 OR click “Latest report” button (Green notebook icon) to see the report



Version history
Last update:
‎Jun 11 2019 08:05 AM
Updated by: