我们使用apt-get命令在Debian Squeeze OS上安装了Jeremy Zawodny版本2009-04-06的Perl mytop,以及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,并在源Perl代码中将字符串“ Questions”替换为“ Queries”,然后运行
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。
最佳答案
我确实已经注意到了这一变化,并在博客中对此进行了介绍:questions or queries?
显然,这使其他监视工具(Innotop,MonYOG)开发人员感到惊讶。
关于您的情况,您有两个非常简单的选择:
切换到innotop
修改mytop的源代码,然后将Questions
替换为Queries
。
更改是在5.1.31中进行的;在上述帖子中,您还可以阅读Oracle员工的评论。
关于mysql - 从MySQLd 5.1.63开始,MySQL的mytop Perl监视器在查询/问题方面不再有效。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19066574/