如何检查数据库的吞吐量(每秒查询)?

我有PostgreSQL DBMS。 我想检查DBMS的实时吞吐量。

我想要build立一个每10秒更新一次的吞吐量图。

我怎么做? 任何有关MySQL的build议也会有所帮助。

看看Postgres统计表。

要获得提交总数,请使用像SELECT SUM(xact_commit) FROM pg_stat_database这样的查询 – 此查询将返回自服务器启动以来在所有数据库上成功提交的提交总数。 每N分钟/秒运行一次这个查询将允许你画出漂亮的图表(从当前的值减去前一个值将给你在N分钟内完成的提交数量)。

我也build议你使用一些监控系统,这可能是有用的其他目的。 就个人而言,我使用zabbix,并保持模板和自定义脚本的小集合,这使我可以看到如下所示:

在这里输入图像说明

mysql命令show status like 'Queries'给出show status like 'Queries'总数。 您可以定期运行抓取此值的脚本,并使用差异计算特定时间间隔内的查询率。

即,如果您每分钟运行一次脚本,并对每次运行的总查询进行更改并除以60,则您将会对速率查询/秒进行粗略估计。

作为一个例子,这个shell命令将给出“查询”字段的值。 mysql -e "show status like 'Queries'\G" | sed 1,2d | cut -d: -f2

监控应用程序如Munin或Nagios可以满足您的需求。

Munin使用RRDTool,可以从“盒子”中收集和统计各种来源的统计数据,其中包括MySQL(也可能是Postgresql)统计数据,如吞吐量。

Nagios是一个全面的networking监控应用程序,但也可以收集一些configuration的性能数据。