我维护的一个数据库最近将其写入负载增加了2倍。
为了找出哪些插入/更新语句导致负载增加,我正在寻找一个工具来报告并分析mysql binlog文件。
我研究过 Maatkit,它是执行许多任务的出色工具包,但它只适用于处理慢速和常规日志。
在开始重新发明轮子之前,有没有什么工具(最好是开源的)可以帮助我?
提前致谢。
答案1
实际上,Maatkit 的 mk-query-digest 也能理解二进制日志格式的输入。Daniel Nichter 编写了 mysqlsla,随后又为 mk-query-digest 编写了二进制日志解析器。我想我可以代表他说“使用 mk-query-digest,它更强大。”试试这个:
mk-query-digest --type binlog /path/to/file [如果需要,可以选择其他选项]
答案2
查看mysqlsla. 其中一个不错的功能是:‘规范化’以下请求:
select a,b,c from talbeName where x=123 and y=23;
来形成:
select a,b,c from talbeName where x=? and y=?;
这样您就可以轻松获得查询类型的细分。