3

我有一个非常大的慢查询日志(~220GB),使用 pt-query-digest,我如何过滤事件/查询:

  • 数据库或数据库 AND
  • 日期时间范围(我只能在这里访问时间戳)和
  • 数据库用户

我知道这种大小的慢查询需要很长时间,但这是我解决生产服务器上的一些慢查询问题所必须的全部信息。将来,我将减小慢查询日志的大小。

我一直在使用该工具的基础知识,但其中一些过滤器选项似乎并不明确或没有很好的记录。如果我这周有时间,我会再玩一次,但我会很感激任何进一步的提示。我尝试过使用 mysqldumpslow,但它只能处理 grep 中的单个模式。

PS我的第一个stackoverflow问题......请友善:-)

4

1 回答 1

8

我为 Percona 开发了一个关于 pt-query-digest 的培训课程。

$ pt-query-digest --since '2013-02-24 00:00:00' --until '2013-02-24 23:59:59'
    --filter '$event->{db} && $event->{db} =~ /mydb/ && $event->{user} =~ /myuser/' 

我测试 {db} 然后匹配 {db} =~ /mydb/ 的原因是某些日志事件没有 {db},因此它会生成“使用未初始化值”错误。

于 2013-03-04T05:01:30.277 回答