Performance monitoring concentrates on how the operating system and any applications or services use the resources of the system, such as the hard disks, memory, processors, and network components. The data you accumulate through daily monitoring provides you with the information you need to analyse trends and plan your system capacity.
Even if your system operates satisfactorily today, it is important to plan for changes in demand caused by new users or by technologies and programs that you deploy. Unanticipated network growth can result in overused resources and poor levels of network service. By characterising system performance over time, you can justify the need for new resources before the need becomes critical.
The following are some definitions to help you understand performance-monitoring terminology.
- Throughput is a measure of the work done in a unit of time, typically evaluated from the server side in a client/server environment. Throughput tends to increase as the load increases, up to a peak level. It then begins to fall, and a queue might develop. Throughput in an end-to-end system, such as client/server, is determined by how each component performs. The slowest point in the system sets the throughput rate for the system as a whole. Often this slow point is referred to as a bottleneck.
Performance monitoring identifies where bottlenecks occur in your system. The resource that shows the highest use is often the bottleneck, but not always. The bottleneck can also be a resource that successfully handles a great deal of activity. There is no bottleneck if no queues develop.
- A queue is a group of jobs that are waiting to run. A queue can form under a variety of circumstances. A queue can develop when requests come in for service by the resource at a faster rate than the resource's throughput, or if requests demand more time from the resource than the system can handle.
A queue can also form if the requests occur at random intervals, such as large batches at the same time.
When a queue becomes long, work is not handled efficiently and you might experience delays in response time.
- Response time is the time required to do work from start to finish. In a client/server environment you typically measure response time on the client side. Response time generally increases as the load increases.
You can measure response time by dividing the queue length for the resource by the resource throughput.
In order to put performance measurements in context, always establish a baseline.