2010-05-02 77 views

回答

6

尝试杰里米Zawodny的优秀实用程序mytop

如果您安装了Perl模块Time::HiRes,mytop会自动使用它来生成每秒钟高分辨率的查询信息。

+1

我没有安装。我发现了一些其他的方式 mysqladmin status – Nikos 2010-05-02 18:45:01

3

有从SHOW GLOBAL STATUS开采的有用信息;命令,包括执行的查询数量(如果您的MySQL是5.0.76或更高版本)。

http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html

+0

什么所有的问题包括在这个查询的一部分......? – Uday 2012-08-16 00:20:02

+0

我正在接受mysql如何计算这个问题值或查询值。我正在做COM_SELECT,COM_UPDATE,COM_SET_OPTION,COM_UPDATE,COM_DELETE和更多的总和,但没有得到这两者之间的精确匹配。 – Uday 2012-08-16 00:22:03

0

我们可以有一个小的脚本这一点。这将是一些像下面的东西。

declare -i a 
    declare -i b 
    declare -i c 
    a=`mysql -uroot -pxxxxx -e "show status like 'Queries'" | 
    tail -1 | awk '{print $2}'` 
    echo "$a" 
    sleep 1 
    b=`mysql -uroot -pxxxxx -e "show status like 'Queries'" | 
    tail -1 | awk '{print     $2}'` 
    echo "$b" 
    c=$b-$a 
    echo "Number of Queries per second is: $c" 
+0

这应该是所有可能在MySQL内部做到的吗?我不知道该怎么做。 – 2013-04-20 13:59:23

0

当您使用“STATUS”命令(而不是SHOW STATUS)时,MySQL会计算自服务器启动以来每秒的查询次数。

经过MySQL 5.1.63测试。

8
SELECT s1.variable_value/s2.variable_value 
FROM information_schema.global_status s1, information_schema.global_status s2 
WHERE s1.variable_name='queries' 
AND s2.variable_name ='uptime'; 
1

您可以使用:

mysqladmin -u root -p status 

将返回输出,如:每秒

Uptime: 17134 Threads: 2 Questions: 1245 Slow queries: 0 Opens: 49 Flush tables: 1 Open tables: 42 Queries per second avg: 0.072 

下面的查询是:0.072,这是questions/uptime

相关问题