在实时生产服务器中诊断和分析MySQL的最佳方法是什么?

时间:2009-03-06 14:16:39

标签: mysql statistics profiling monitoring

您建议在实时生产服务器中诊断和配置MySQL的工具/方法是什么?

我的目标是测试扩展系统的其他方法,看看它们对读/写时序,内存,CPU负载,磁盘访问等的影响以及找到瓶颈。

5 个答案:

答案 0 :(得分:9)

首先,您应该设置某种监控,例如:

其他可能有用的工具:mytop innotop mtop maatkit

另外,您应该在my.cnf中启用日志记录slow-queries

因为你开始调整/更改你应该创建某种类型的参数 测试计划并比较之前/之后的结果,以查看您的更改 是否有意义。

答案 1 :(得分:3)

这是我已经做了很多工作的事情。

  • MonYog - MySQL监控服务。我们在生产中使用它。它不是免费的,但具有许多功能,包括警报和历史数据。

  • MySQL Enterprise Monitor - 适用于MySQL企业(即不便宜)

  • 自己动手!

关于滚动你自己的选择:

我们实际上开发了一个非常酷的监控应用程序,它使用RRD tool(由常见的MRTG使用)以及MySQL统计信息和系统统计信息(如iostat)的组合。这不仅是一个很好的练习,而且给了我们很大的灵活性,可以从一个界面中准确地监控我们想要的东西。

以下是构建自己统计信息的Brief Description方法。

即使我们也使用MonYog,我们推动自己的一个主要动机是跟踪磁盘统计数据。磁盘i / o可能是一个主要瓶颈,标准的MySQL监控系统没有i / o监控。我们使用的iostatsystat包的一部分。

我们有一个界面,显示磁盘i / o统计数据旁边的MySQL统计数据图,让我们真实地了解MySQL负载如何影响磁盘i / o。

在此之前,我们真的不知道为什么我们的生产应用程序陷入困境。我们发现磁盘i / o是一个主要问题,当我们运行复杂查询时,MySQL在磁盘上创建了大量临时表。我们能够优化查询并显着提高磁盘性能。

答案 2 :(得分:2)

Jet Profiler肯定是

答案 3 :(得分:0)

Vote http://tinyurl.com/vote-gif添加到列表中:

答案 4 :(得分:0)

还要添加到列表:RHQ 4(开源) - http://rhq-project.org/