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

10-15 22:05