0

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

您是否在系统中观察到此问题?即 MySQL 的 Perl 监视器现在在 MySQLd 5.1.63 之后的查询/问题方面无效?

添加:

在阅读了 Shlomi Noach 的回答后,我为修改后的 Perl 脚本文件添加了这个链接: mytop.pl

4

1 回答 1

1

我确实注意到了这种变化,并在博客上写到:问题或疑问?

显然,这让其他监控工具(Innotop、MonYOG)开发人员感到意外。

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

  • 改用innotop _
  • 修改mytop的源代码并替换QuestionsQueries.

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

于 2013-09-28T13:08:45.347 回答