More DBA job interview questions and answers at
http://dba.fyicenter.com/Interview-Questions/
(Continued from previous question...)
MySQL - Using Your Own Benchmarks
You should definately benchmark your application and database to find out where the bottlenecks are. By fixing it (or by
replacing the bottleneck with a 'dummy module') you can then easily identify the next bottleneck (and so on). Even if the
overall performance for your application is sufficient, 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 an example of portable benchmark programs, look at the MySQL benchmark suite.
You can take any program from this suite and modify it for your needs. By doing this, you can try different solutions to
your problem and test which is really the fastest solution for you.
It is very common that some problems only occur 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 every one of these cases so
far, it has been problems with basic design (table scans are NOT good at high load) or OS/Library issues. Most of this would
be a LOT 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! You can use Sasha's recent hack for this - super-smack. As the name suggests, it can bring your system down to its
knees if you ask it, so make sure to use it only on your developement systems.
(Continued on next question...)