2011-03-01 59 views

回答

6

我喜欢的工具mytop。它就像* nix世界中的top,但是对于MySQL本身。它基本上完全是你在问什么...

至于其他优化技术,我个人非常喜欢用Apache Bench测试MySQL查询。基本上,我创建了一个简单的脚本,它不执行任何操作,而是执行我想要改进的查询。然后,我用不同的并发设置在它上面运行AB。好处是您可以了解查询如何扩展,而不仅仅是运行速度。谁在乎一个查询是否快速进行一次运行。你真正关心的是负载运行有多快。所以:

<?php 
$my = new MySQLi($host, $user, $pass); 
$my->query('SELECT foo'); 

然后,使用AB:

ab -c 10 -n 10000 http://localhost/path/to/my/test.php 

然后,通过调整参数,并发(-c 10),您可以测试不同的并发负载。这样,你可以真正看看你的调整如何影响确切的查询,而不是与其他指标猜测

0

我知道你很久以前问过你的问题了 - 但我只是偶然发现了这个问题,并且想与你分享另一个工具。 Percona的男爵Schwartz开始innotop,这是下一代mytop。它在服务器状态和查询分析之上添加了先进的InnoDB监控功能。如果您正在运行CentOS,它将包含在EPEL存储库中。