Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an ASP.NET 4.5 (Web API) web application hosted in IIS on Windows Server 2008 R2. This web application is hosted in it's own application pool using the Integrated pipeline.

I am trying to use Performance Monitor to capture the amount of memory and IO pressure of the application.


  • How much memory (managed or otherwise) is the application consuming?
  • How much IO work (request data in / response data out - not writing to disk) is the application performing at any given second?

I intend to capture these metrics so that I can gauge performance benefits of various enhancements we have to a specific part of our system.

I am not interested in requests per second style load testing - this will be handled separately.

Problem: I am struggling to identify the correct performance counters to use to capture the above metrics.

There are many different counters that relate to memory usage and all of the ones I have tried do not seem change... even when I upload a 1GB file to my application.

For IO pressure I am using IO Read / Write (sec) counters under the Process object... but if I'm honest I'm only guessing.

Can anyone point me in the right direction?

Is Perfmon the right tool for the job?

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.