我们使用apt-get命令在Debian Squeeze操作系统上安装了Perre mytop的Jeremy Zawodny版本2009-04-06,使用MySQLd版本5.1.53。我重做了“apt-get install mytop”,表明没有更新版本的mytop可用。
这个版本的mytop似乎已经过时了,因为它系统地给出了MySQLd所做查询的非常低的价值。实际上,它使用状态查询来获取自正常运行时起的总查询:
SHOW STATUS LIKE 'Questions';
在新版本mysqld中产生错误结果。实际上,为了获得自正常运行时间以来的mysql查询总数,新的mysqld服务器将查询数量转移到“查询”而不是“问题”:
SHOW STATUS LIKE 'Queries';
您可以通过以下方式看到两个变量之间的巨大差异:
mysql> SHOW STATUS LIKE 'Que%';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Queries | 135903 |
| Questions | 160 |
+---------------+--------+
2 rows in set (0.00 sec)
给出“查询”和“问题”的两个值。
mytop -uJohnDoe2 -ppassword
这是mytop的原始输出:
MySQL on localhost (5.1.63-0+squeeze1-log) up 0+01:42:35 [13:36:44]
Queries: 265.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 14760/00/00/00
qps now: 0 Slow qps: 0.0 Threads: 5 ( 1/ 5) 1500/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.9/173.8 Now in/out: 8.3/ 1.5k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- --------------
28019 root localhost 0 Query show full processlist
....
我将mytop复制到mytop.pl,并在源代码中用“Queries”代替字符串“Questions”,然后运行
mytop.pl -uJohnDoe2 -ppassword
修改后的mytop.pl提供了更加真实的监控:
MySQL on localhost (5.1.63-0+squeeze1-log) up 0+01:42:23 [13:36:32]
Queries: 136.1k qps: 23 Slow: 0.0 Se/In/Up/De(%): 28/00/00/00
qps now: 18 Slow qps: 0.0 Threads: 5 ( 1/ 5) 27/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.1/ 18.3 Now in/out: 8.4/ 1.5k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- --------------
30789 root localhost 0 Query show full processlist
....
您是否在系统中发现过此问题?即 从MySQLd 5.1.63开始,MySQL的Perl监视器现在在查询/问题方面无效?
增加:
在阅读了Shlomi Noach的答案之后,我为修改后的Perl脚本文件添加了这个链接: mytop.pl
答案 0 :(得分:1)
我确实注意到了这一变化,并在博客上写道:questions or queries?
显然,这对其他监控工具(Innotop,MonYOG)开发人员来说是一个惊喜。
关于你的情况,你有两个非常简单的选择:
Questions
替换为Queries
。更改是在 5.1.31 ;在上述帖子中,您还可以阅读Oracle员工的评论。