I'm working on improving the performance of a MySQL server. I'm looking for something to measure & monitor the performance of MySQL (as query per second) over time so that I can measure any improvements I make.
Are their any easy to use open source software that does this?
Thank you.
One of many solutions: Munin comes with quite a lot of mysql-related plugins.
If the objective is to identify performance improvements, then you don't need a lot of infrastructure for collating and reporting data.
Switch on the slow query log (and get it log everything) then use this program to identify problem queries. Note that the output is sorted by the frequency of the query - but really you should be prioritizing stuff based on the product of the average run time and the frequency.
Once you've got your code cleaned up, you might want to check if the config of the DBMS is optimal - try mysql_tuner.pl
If you're going to the trouble of collecting and graphing mysql statistics, be sure to do the same for other data such as cpu utilization, memory usage, and disk activity. Having this context will help you understand what is limiting your mysql performance. Munin is one choice for this; another is collectd. Also, look at some of the tools percona recommends, particularly mysqlreport.
If possible, consider doing this performance tuning in a test environment rather than production. It's much easier to understand the impact of your changes when you're in control of the load being placed on the system.