Databases Reference
In-Depth Information
Figure 2-3. Results from a 30-minute dbt2 benchmark run
Figure 2-3 shows the throughput in new-order transactions per minute (NOTPM). This
line shows significant drops, which the overall average (the dotted line) doesn't show
at all. The first drop is because the server's caches are cold. The others show when the
server spends time intensively flushing dirty pages to the disk. Without the graph, these
aberrations are hard to see.
Such spiky behavior is very common in heavily loaded systems, and needs to be inves-
tigated. In this case, the behavior was because of the use of an older version of InnoDB,
which had a poor flushing algorithm. But you can't take that for granted. You need to
go back to your detailed statistics and look at them. What did SHOW ENGINE INNODB
STATUS look like during these notches? What about the output of SHOW FULL PROCESS
LIST ? You might be able to see instantly that InnoDB was flushing, or that there were
many threads in the process list with a status of “waiting on query cache lock,” or
something else similarly obvious. This is why it's helpful to capture very detailed data
during your benchmarks, and then plot it so problems pop out.
Benchmarking Tools
You don't have to roll your own benchmarking system, and in fact you shouldn't unless
there's a good reason why you can't use one of the available ones. We show you some
of the available tools in the following sections.
 
Search WWH ::




Custom Search