There are three query processing programs: Together they provide a unified collection of tools to resolve some of the issues faced by a MySQL DBA. The primary functions of the tools are as follows:

Querysniffer is used to gather data from a production server. It is impossible to really know what is going in and out of your MySQL server without turning on the general logging option. To do this requires a MySQL server restart. It also creates an overhead on the server. Shutting it off requires another server restart. Not a good thing in a production environment. Querysniffer can be started and stopped at any time without disrupting your server.

Querybench is used for testing a server using production data (gathered by querysniffer). You can test a server with a variable number of simulated clients and a variable number of execution times. It is based on the module developed Jeremy Zawodney for his MyBench program.

Queryparser is used to analyze the output of querysniffer to determine statistical patterns. It actually inserts the output of queryparser (the sniffed queries and timing data) into a database and then you can view and analyze the output with web pages. I have included several sample web pages that can be modified for your use. Some statistics include queries per second, execution time for queries and most commonly executed queries.


All three programs are now usable. I uploaded compressed tar files of the programs from subversion so that you can work with them as you wish. As the programs are very useful but complex to work with I have added a tutorial here:

Tutorial

Enjoy!!