7.1.5. Using Your Own Benchmarks
You should definitely benchmark your application and database to
find out where the bottlenecks are. After fixing one bottleneck
(or by replacing it with a “dummy” module), you can
proceed to identify the next bottleneck. Even if the overall
performance for your application currently is acceptable, you
should at least make a plan for each bottleneck and decide how
to solve it if someday you really need the extra performance.
For examples of portable benchmark programs, look at those in
the MySQL benchmark suite. See
Section 7.1.4, “The MySQL Benchmark Suite”. You can take any program
from this suite and modify it for your own needs. By doing this,
you can try different solutions to your problem and test which
really is fastest for you.
Another free benchmark suite is the Open Source Database
Benchmark, available at
https://osdb.sourceforge.net/.
It is very common for a problem to occur only when the system is
very heavily loaded. We have had many customers who contact us
when they have a (tested) system in production and have
encountered load problems. In most cases, performance problems
turn out to be due to issues of basic database design (for
example, table scans are not good under high load) or problems
with the operating system or libraries. Most of the time, these
problems would be much easier to fix if the systems were not
already in production.
To avoid problems like this, you should put some effort into
benchmarking your whole application under the worst possible
load:
As suggested by the names of these programs, they can bring a
system to its knees, so make sure to use them only on your
development systems.