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

Rah*_*sad 3 mysql postgresql

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

我想构建一个吞吐量图,每 10 秒更新一次。

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

小智 5

mysql 命令show status like 'Queries'给出了查询的总数。您可以定期运行一个脚本来获取该值并使用该差异计算特定时间间隔的查询率。

即,如果您每分钟运行一次脚本并获得每次运行的总查询数的变化并除以 60,您将粗略估计每秒查询数。

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


rvs*_*rvs 5

查看 postgres 统计表。

要获取提交总数,请使用类似查询SELECT SUM(xact_commit) FROM pg_stat_database- 此查询将返回自服务器启动以来所有数据库上成功提交的总数。每 N 分钟/秒运行一次此查询将允许您绘制漂亮的图表(从当前值中减去先前的值将得到在 N 分钟内完成的提交数)。

我还建议您为此使用一些监控系统,它可能对其他目的有用。就个人而言,我正在使用 zabbix 并维护一小部分模板和自定义脚本,这让我可以看到如下内容:

在此处输入图片说明