Chapter 17. Measuring Performance
Determining how well your systems are performing and where improvements can be made is an important part of a database administrator's job. The best way to determine this is through benchmarking and profiling. Benchmarking is the execution of a standard suite of programs in order to assess the performance of the system or systems being tested in a methodical manner relative to performance of other systems. Profiling is a methodical way of collecting metrics about systems you are testing. These systems can be in active testing or even in production if the profiling methods used do not generate a large load. Together, they can be used for capacity planning purposes. Each of these topics will be discussed in this chapter.
Benchmarks answer the question, "Will my application work faster when configured in this way, or in that way?" By measuring a set of activities, benchmarks can be used to compare how a database responds under varying conditions. You can create as many different test scenarios as you can imagine. Possible scenarios might include testing your database performance with server configuration changes, testing your database for deadlock handling, testing different methods of loading data, and testing new application code releases.
Through planning and benchmarking, you can become more aware of when a system is approaching the limits of its capabilities. You ...