#server #monitoring #services
Monitoring Servers and Services
Cache, Network Segment, PhysicalDisk, and LogicalDisk
As a general recommendation, servers with major roles should be dedicated to a single purpose rather than shared among multiple purposes. For example, do not have domain servers or database servers do double duty as application or file and print servers because these secondary activities can impede the ability of the server to handle its primary workload.
As a service runs, it makes specific demands on system resources. In addition to the monitoring resource requirements defined by the computer’s workload, you can obtain information about the services using performance data made available through the services. Many services running under Windows 2000 Server supply performance counters that can be used to measure service activity and resource utilization. Monitoring these counters provides data you can use to determine how well your server is functioning.
In addition to the standard counters described in “Overview of Performance Monitoring,” you can use the System object counters to obtain information of interest on server computers. For example, you might want to examine the values for System\System Up Time. If this value is consistently low, it might indicate frequent failures, meaning that the server remains up only for a short time.
Establishing a Baseline on Server Computers
Monitor the performance of your server at the busiest times of day as well as when it is idle or when activity levels are low. Consider the number of concurrent users as well as the number of inactive connections during the times you are monitoring because the server expends resources tracking inactive as well as active connections. After collecting and reviewing this data, you can set a baseline for the performance of your server. This baseline can be used as a reference point for determining when performance problems exist and for projecting future resource requirements. When data consistently falls outside of the baseline ranges, consider it a signal that the performance of your server is changing—either because the demand is increasing or a bottleneck is developing. You will then want to monitor activity more closely to determine whether your server needs tuning or upgrading.
When you become aware of changes in performance that result in values outside your baseline, monitor the system counters representing the disk, memory, processor, and network components along with the Processor\% Processor Time counter for the services that you are running to see if there is a correlation between service activity and resource usage. If so, you might need to tune the service.
Unless you are testing a computer’s startup performance, wait until the startup process has concluded before monitoring system performance. Otherwise, you might mistake the high utilization values characteristic of process startup for the process’s typical load.
In general, you will want to monitor a server from a different computer so as to minimize the impact of the testing process on the computer being tested. For more information about the advantages and disadvantages of remote versus local monitoring, see “Monitoring Remote Computers” earlier in this chapter.
Upgrading Servers and Capacity Planning
The chapters “Analyzing Processor Activity,” “Evaluating Memory and Cache Usage,” and “Examining and Tuning Disk Performance” in this book provide information about tuning and planning for upgrades for hardware resources such as memory, processors, or disks when counter values indicate that these are being strained by your workload. In addition, the chapter “Measuring Multiprocessor System Activity” addresses the special considerations for obtaining optimal performance from scaled systems and discusses the benefits of server clustering and load balancing.
The capacity of a server depends on many variables, including the number of work units (such as client requests), the amount of time required for each unit, and the corresponding resource utilization. Because of the many variables of an individual server implementation, it is extremely difficult to arrive at a perfect formula for gauging the capacity of your server.
Show: Inherited Protected