Analyzing Cache Performance Data

You can use the Performance Monitor data to evaluate the performance of the file system cache on your server. The file system cache is judged based on how often files sought in the cache are found there. A hit is recorded when requested files are found in the cache. A miss or fault is recorded when requested files are not found. Misses and faults indicate how often the system needs to do extra work to retrieve files from somewhere other than the cache.

To evaluate the performance of your server's file system cache, chart a Performance Monitor log of Cache: MDL Read Hits %. The file system cache is performing well when this value is highest. Values near 100 percent are not uncommon on IIS servers with ample memory. Subtract the percentage of hits from 100 percent to determine the number of misses. Misses on MDL reads usually require disk operations to find the requested data.

MDL Reads are the most common type of read used for retrieving many contiguous pages. Typically, MDL Reads are the most common read operation on servers running Internet Information Server. To determine which type of cache read is most common on your server, create a Performance Monitor report of the rates of different types of cache reads. Include the Cache: Copy Reads/sec, Cache: Data Maps/sec, Cache: Fast Reads/sec, Cache: MDL Reads/sec, and Cache: Pin Reads/sec.

You can also use the Memory: Cache Faults/sec counter to indicate how often data sought in the file system cache is not found there. This value should be as small as possible. The Memory: Page Faults/sec and Memory: Page Reads/sec counters are included to help you relate the fault rate of the cache to the fault rate in the system as a whole. Memory: Cache Faults/sec is a component of Memory: Page Faults/sec. The ratio of Memory: Cache Faults/sec to Memory: Page Faults/sec indicates the proportion of faults occurring in the cache as opposed to the working sets of processes.

A high rate of cache faults can indicate a memory shortage. But it can also indicate a less than optimal organization of data on disk. If the files used in sequence are stored on the same logical partitions of the same disk, they are more likely to benefit from the Windows NT Cache Manager's optimizing strategies, such as read aheads. The Memory: Read Aheads/sec counter displays the rate of sequential reading from the cache.