mysql插入监视

时间:2011-01-15 19:09:43

标签: mysql monitoring

请告诉我如何监控带有mysql的表的每秒插入速率?

谢谢!

2 个答案:

答案 0 :(得分:4)

您只需执行此类操作即可实时监控

  • 计算行数
  • 等待x
  • 计算行数,在两个计数之间找到delta y
  • rate = y/x

如果您不想实时执行此操作,则可以解析MySQL binary log以查看执行了多少个insert语句并获取其时间戳。

或者您可以为每一行提供一个时间戳,然后通过计算在该时间段内插入的行来查找任意时间段的平均插入率。例如,要获取在最后一小时插入的行数...

SELECT count(*) AS inserted 
FROM table 
WHERE unix_timestamp(created) BETWEEN unix_timestamp()-3600 AND unix_timestamp();

最后,如果你想要一些插入(和其他操作)的一般图形,你可以使用类似munin的东西(虽然默认情况下这将跟踪所有插入,而不仅仅是跟踪特定表中的插入)。这是一个例子

munin graph example

答案 1 :(得分:1)

您可以定期执行

SHOW STATUS LIKE 'Handler_write'

将为您提供发送到存储引擎的插入操作量。请注意,这些写入可能已失败。但是根据你的目的,这可能已经足够了。