New worker process performance counters in IIS7

In IIS7 RC0, one of the neat new features we added were two performance counters that give you a window into what’s happening on a per worker processes and the application level at runtime. This is useful because it lets you have a finer-grained monitoring view on servers that are running a large load. You can check out the overall health of specific processes and apps on a well-loaded server with these two new counters, which let you monitor and track over time per worker process data, like when/how requests are queuing or if the output cache truly is working. All of our worker process counter instances are named <pid>_<apppool_name>. If you wanted to search in perfmon for a counter, you could use the *_AppPoolName to get all WP instances running that app pool. 

WAS_W3WP

This counter set exposes Web Admin Service related counters for the worker process. Use this counter if you want to check in on a specific worker process. This performance counter tracks the following info:

  • Total Health pings: Total number of health pings received by the process.
  • Total Runtime Status Queries: Total number of Runtime Status queries received by the process.
  • Health Ping Reply Latency: Time, in 100-nanosecond intervals, taken by worker process to reply to last health ping.
  • Active listener channels: Number of currently active listener channels in the worker process.
  • Active protocol handlers: Number of currently active protocol handlers in the worker process
  • Total WAS Messages Received: Total number of messages received by the worker process from Web Admin Service.
  • Messages Sent to WAS: Total count of messages sent to WAS
  • Total Requests Served: Total number of requests served by the worker process. This counter is only meaningful when request based recycling is enabled for the application pool.
  • Total Messages Sent to WAS: Total number of messages sent to Web Admin Service by the worker process.


W3SVC_W3WP

This counter set exposes HTTP request processing related counters for the worker process.  You will want to use this to check in on how the web server WAS object is handling requests to do things like make sure that the output caching is behaving as expected.

  • Total HTTP Requests Served: Total number of HTTP requests served by the worker process.
  • Requests / Sec: HTTP requests/sec being processed by the worker process.
  • Active Requests: Current number of requests being processed by the worker process.
  • Total Threads: Total number of threads available to process requests in the worker process.
  • Active Threads Count: Number of threads actively processing requests in the worker process.
  • Maximum Threads Count: Maximum number of threads to which the thread pool can grow as needed.
  • Current File Cache Memory Usage: Current number of bytes used by user-mode file cache.
  • Maximum File Cache Memory Usage: Maximum number of bytes used by user-mode file cache.
  • Output Cache Current Memory Usage: Current number of bytes used by output cache.
  • Current Files Cached: Current number of files whose contents are present in user-mode cache.
  • Total Files Cached: Total number of files whose contents were ever added to the user-mode cache (since service startup).
  • File Cache Hits: Total number of successful lookups in the user-mode file cache (since service startup).
  • File Cache Misses: Total number of unsuccessful lookups in the user-mode file cache (since service startup).
  • File Cache Flushes: Total number of files removed from the user-mode cache (since service startup).
  • Active Flushed Entries: Number of file handles cached in user-mode that will be closed when all current transfers complete.
  • Total Flushed Files: Total number of file handles that have been removed from the user-mode cache (since service startup).
  • Current URIs Cached: URI information blocks currently in the user-mode cache.
  • Total URIs Cached: Total number of URI information blocks added to the user-mode cache (since service startup).
  • URI Cache Hits: Total number of successful lookups in the user-mode URI cache (since service startup).
  • URI Cache Misses: Total number of unsuccessful lookups in the user-mode URI cache (since service startup).
  • URI Cache Flushes: Total number of URI cache flushes (since service startup).
  • Total Flushed URIs: The number of URI information blocks that have been removed from the user-mode cache (since service startup).
  • Current Metadata Cached: Number of metadata information blocks currently present in user-mode cache.
  • Total Metadata Cached: Total number of metadata information blocks added to the user-mode cache (since service startup).
  • Metadata Cache Hits: Total number of successful lookups in the user-mode metadata cache (since service startup).
  • Metadata Cache Misses: Total number of unsuccessful lookups in the user-mode metadata cache (since service startup).
  • Metadata Cache Flushes: Total number of user-mode metadata cache flushes (since service startup).
  • Total Flushed Metadata: Total number of metadata information blocks removed from the user-mode cache (since service startup).
  • Output Cache Current Items: Number of items current present in output cache.
  • Output Cache Total Hits: Total number of successful lookups in output cache (since service startup).
  • Output Cache Total Misses: Total number of unsuccessful lookups in output cache (since service startup).
  • Output Cache Total Flushes: Total number of flushes of output cache (since service startup).
  • Output Cache Total Flushed Items: Total number of items flushed from output cache (since service startup).
  • File Cache Hits / sec: Rate of successful lookups in file cache during last sample interval.
  • Metadata Cache Hits / sec: Rate of successful lookups in metadata cache during last sample interval.
  • Uri Cache Hits / sec: Rate of successful lookups in URI cache during last sample interval.
  • File Cache Misses / sec: Rate of unsuccessful lookups in file cache during last sample interval.
  • Metadata Cache Misses / sec: Rate of unsuccessful lookups in metadata cache during last sample interval.
  • Output Cache Misses / sec: Rate of unsuccessful lookups in output cache during last sample interval.
  • Uri Cache Misses / sec: Rate of unsuccessful lookups in URI cache during last sample interval.

Hope these help!

No Comments