Performance Monitoring Example: Identifying Bottlenecks

A bottleneck is a component of the system that restricts the performance of the entire system, for example, due to excessive demand on a system resource. Every system will have bottlenecks. By monitoring the Microsoft® SQL Server™ system for bottlenecks, you can determine if changes can be made to the limiting component to make it perform at an optimum level.

Demand on a resource can become extreme, causing a bottleneck for the following reasons:

Decide What to Examine

Low numbers can be just as meaningful as high numbers. If a number is lower than expected, it may be a clue to a problem in another area. For example:

A low number could also mean that the system is performing better than expected in meeting user expectations.

These are five key areas you should monitor to track server performance and identify bottlenecks.

Bottleneck candidate Effects on the server
Memory usage An inadequate amount of memory allocated or available to SQL Server will degrade performance. Data must be continually read from the disk rather than residing in the data cache. Microsoft Windows NT® performs excessive paging by swapping data to and from the disk as the pages are needed.
CPU processor utilization A constantly high CPU rate may indicate the need for a CPU upgrade (or the addition of multiple processors).
Disk I/O performance A slow disk I/O (disk reads and writes) will cause transaction throughput to degrade.
User connections An improperly configured number of users can cause your system to run too slowly or restrict the amount of memory that could otherwise be made available to SQL Server.
Blocking locks A process may be forcing another process to wait, thereby stopping the blocking process.

See Also
Monitoring Memory Usage SQL Server: Locks Object
Monitoring CPU Use SQL Server: General Statistics Object
Monitoring Disk Activity  

  


(c) 1988-98 Microsoft Corporation. All Rights Reserved.