自MySQLd 5.1.63以来,MySQL的mytop Perl监视器在查询/问题方面不再有效吗?

时间:2013-09-28 11:46:02

标签: mysql perl monitoring status monitor

我们使用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

1 个答案:

答案 0 :(得分:1)

我确实注意到了这一变化,并在博客上写道:questions or queries?

显然,这对其他监控工具(Innotop,MonYOG)开发人员来说是一个惊喜。

关于你的情况,你有两个非常简单的选择:

  • 切换到innotop而不是
  • 修改 mytop 的源代码,并将Questions替换为Queries

更改是在 5.1.31 ;在上述帖子中,您还可以阅读Oracle员工的评论。