Deploying Terminal Services

Previous Topic Next Topic

Monitoring Performance

Performance monitoring is a critical component of testing as well as the day-to-day operations in a Terminal Services environment. A baseline needs to be established early in the pilot phase. Then, as the deployment takes place, the baseline can be used to measure against actual performance. This helps to quickly identify and resolve system bottlenecks. The information in this section highlights the key System Monitor counters required for analyzing Terminal Services performance. The three primary system components that affect performance in this environment are CPU, memory, and the network.

Evaluating CPU Performance

Detecting a processor bottleneck in a Terminal Services server is similar to detecting processor bottlenecks in a Windows 2000 server, but the baseline values for the counters might be different. The most significant counters for identifying bottlenecks are:

Percent of Total Processor Time (System)    This is a measure of activity on all system processors. In a multiprocessor computer, this counter is equal to the total amount of processor activity divided by the number of processors. This counter is especially useful after it has been verified that all system processors are processing threads equally.

Processor Queue Length (System)    This is the instantaneous length of the processor queue in units of threads. All processors use a single queue in which threads wait for processor cycles. After a processor is available for a thread waiting in the processor queue, the thread can be switched onto a processor for execution. A processor can execute only a single thread at a time. Note that faster CPUs can handle longer queue lengths than slower CPUs.

Processor Time (Processor)    This is the percentage of time the processor was busy executing a thread other than the thread of the Idle process. This counter has an instance for each system processor available to the operating system. You can use it to verify that each system processor is contributing equally to processing waiting threads.

Total Interrupts/Sec    This is the rate at which the computer is receiving and servicing hardware interrupts. Some devices that might generate interrupts are the system timer, the mouse, data communication lines, network adapters, and other peripheral devices. You can use this counter to identify any device drivers that might be consuming an unusually high amount of processor time.

Percent of Total Processor Utilization and Processor Queue Length    These are the most significant counters for identifying bottlenecks in CPU bottlenecked systems. As the system processors become busier, the number of threads waiting for execution in the Processor Queue increases.

Evaluating Memory Performance

In addition to the System Monitor counters, Task Manager displays Physical Memory values that can be very useful when evaluating memory performance with Terminal Services. The Available Memory, Total Memory, and File Cache Memory values can be found on the Performance tab within Task Manager.

The two most significant performance counters in Task Manager are Available Physical Memory and Page Inputs/sec. To avoid performance problems related to memory, carefully observe the decreases in these counters. The decreases are a good indication of the amount of memory required per user. As a guideline, a Terminal server is considered fully utilized in terms of memory when Available Physical Memory is less than two times the average per user memory requirement. If a dramatic increase in Page Inputs/Sec is observed, memory capacity has probably been exceeded and additional memory needs to be added.

Available Bytes (Memory) displays the size of the virtual memory currently on the Zeroed, Free, and Standby lists. Zeroed and Free memory is ready for use, with Zeroed memory cleared to zeros. Standby memory is memory removed from a process's Working Set but that is still available. Notice that this is an instantaneous count, not an average over the time interval.

Pages Input/sec is the number of pages read from the disk to resolve memory references to pages that were not in memory at the time of the reference. This counter includes paging traffic on behalf of the system cache to access file data for applications. This is an important counter to observe if you are concerned about excessive memory pressure and the excessive paging that might result.

Evaluating Network Performance

Terminal Services performance can be considered unacceptable because of delays in network communication even though the CPU and memory are available.

Bottlenecks in network communications can occur in four different areas: the client network interface, the physical network media, the server client-to-server network interface, or the server network interface for server-to-server/host communications. Bottlenecks in network communications directly affect the experience of the user at the client workstation.

The most useful System Monitor counters for tracking network utilization are the Network Segment counters:

© 1985-2000 Microsoft Corporation. All rights reserved.