是什么导致写活动



我运行一个RDS PostgreSQL实例。偶尔,实例在硬盘驱动器和查询性能中的写入活动似乎会受到损失。尖峰持续5-10分钟,并自行消失。

数据库支持无数的工作负载,包括Web查询和批处理数据负载。我想将写活动的尖峰与特定类型的工作负载相关联,例如网络流量的增加,或者比通常的数据集更大,但到目前为止还没有成功。

我想知道PostgreSQL Server是否有任何可以用于此目的的仪器?例如,是否有一种方法可以将磁盘写入特定查询/交易?如果是这样,我也许可以汇总此类信息,以查看哪种类型的交易导致大多数磁盘写入。

我知道这很模糊。任何建议都将不胜感激。

取决于您的环境 - 例如,我必须主要使用终端命令行的内容,因此我必须使用sudo iotop -b -n 1|head -15或TOP'Postgres'进程来记录顶部I/O进程的时间快照sudo iotop -b -n 1 -u postgres - 在这里,我会发现顶部I/O流程的泰式。

使用psql -U ... -d ... -t -c "select pid, query from pg_stat_activity where state='active' "我可以将TID与PostgreSQL进程列表中的PID匹配。

,但是这些尖峰也可能是由"统计收集器"或自动驾驶过程引起的,您只能在OS级别上看到。

最新更新