3.1 The Importance of Benchmarking
Benchmarking
is fundamentally a "what if" game.
By setting up a simple test, you can quickly answer questions such as
the following:
What if I increase the number of rows by a factor of 10? Will my
queries still be fast? Will a RAM upgrade really help? If so, how much? Is the new server really twice as fast as the old one? What if I disable the query cache? Which is faster, using a subquery or two shorter queries? What happens when this query is run multiple times or is run with
other queries?
Benchmarking is often about comparisons. When deciding to make an
important change, you'll want first to test the
alternative(s) and then decide what to do based on the results of the
test.
Our goal is to make benchmarking MySQL easy. Anytime you catch
yourself wondering if A is faster than B, or whether A or B uses more
memory, just pull out your favorite benchmarking tool and find out.
Sometimes you'll be surprised by the results. To
achieve the goal of easy MySQL benchmarking, we've
tried to document how to use the available tools.
Beyond answering what-if questions, benchmarking is especially
important in database-driven applications because it can highlight
problems that are otherwise difficult to pinpoint. When an
application slows down, the database may not be the first suspect.
After spending a lot of time testing the application code,
you'll eventually need to isolate the database to
see whether it is a significant bottleneck. Having a prebuilt
benchmark makes that task trivial.
|