Of the counters listed, the System: Processor Queue Length counter is the most important counter for analyzing processor activity data. The System: Processor Queue Length counter displays the number of ready threads in the single queue shared by all processors. Sustained high rates of processor activity, which leave little excess capacity to handle peak loads, are often associated with processor bottlenecks. Processor activity, by itself, indicates only that the resource is used, not that maximum use of the resourcerrich is a problem. However, a long, sustained queue indicates that ready threads are being kept waiting because a processor cannot handle the load.
A sustained processor queue length of 2 or more threads (as indicated by the System: Processor Queue Length Counter) typically indicates a processor bottleneck. You might consider setting a Performance Monitor alert to notify the Administrators when the processor queue length reaches an unacceptable value.
The Processor: % Processor Time counter is most often used as a general measure of processor activity on both single-processor and multiprocessor computers. System: % Total Processor Time is included for monitoring system-wide processor use on multiprocessor computers. On single-processor computers, System: % Total Processor Time always equals Processor: % Processor Time. On multiprocessor computers, System: % Total Processor Time represents the active time of all processors divided by the number of processors.
If the server workload is shared equally among all processors, System: % Total Processor time is an excellent measure of processor activity. However, this counter hides bottlenecks resulting from unequal processor loads. (If one processor is 100% busy and three other processors are idle, the % Total Processor Time is 25%.)
Windows NT is designed for efficient scaling and includes several strategies for balancing processor load. Applications can create an imbalance by setting a processor affinity, which binds a process to a single processor. For detailed processor monitoring, you need to chart Processor: % Processor Time for each processor on the computer.
You might encounter the following challenges in analyzing your processor data:
A large processor queue when all processors are busy. Create a histogram of Process: % Processor Time for each process. The histogram shows the processor time consumed by each process.
A single bar rises above all of the others. The process represented by the bar might be consuming a disproportionate share of processor time and causing a bottleneck. Consider replacing the application running in the process, or moving the process to another server.
The processors are being shared equally by several processes. Consider upgrading or adding processors. Multithreaded processes benefit most from additional processors.
For more information on processor use by applications related to Internet Information Server, see Chapter 9, "Monitoring Dynamic Page Generation."