【问题标题】:mytop Perl monitor of MySQL is no more valid in terms of Queries/Questions since MySQLd 5.1.63?自 MySQLd 5.1.63 以来,MySQL 的 mytop Perl 监视器在查询/问题方面不再有效?
【发布时间】:2013-10-04 16:25:35
【问题描述】:

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

您是否在系统中观察到此问题? IE。 自 MySQLd 5.1.63 以来,Perl 的 MySQL 监视器现在在查询/问题方面无效?

添加:

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

【问题讨论】:

    标签: mysql perl monitoring status monitor


    【解决方案1】:

    我确实注意到了这种变化,并在博客中对此进行了介绍:questions or queries?

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

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

    • 改用innotop
    • 修改mytop的源代码,将Questions替换为Queries

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

    【讨论】:

    • 我的 mysqld 没有 'com_queries' 变量。
    • 意思是写Queries。感谢您注意到这一点。已在帖子中修复。
    猜你喜欢
    • 2014-10-27
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多