定期RDS Postgresql复制延迟

时间:2017-06-04 17:46:10

标签: postgresql postgresql-9.3 amazon-cloudwatch rds

我一直在观察我的PostgreSQL读取副本显示出复制滞后的周期性延迟。延迟似乎最多可达30-40分钟,然后自动降至0.与CPU Utilization存在相关性,但它与CPU限制无关。

  • 读取流量来自名为DOMO的报告软件。 DOMO定期复制大量数据和数据。全桌进入仓库。

此处的AWS Cloudwatch图表。红线以秒为单位显示Replication Lag。蓝线显示CPU负载。

滞后与CPU Periodic replication lag

延迟与网络输出 enter image description here

滞后与读取IOPS enter image description here

延迟与写入IOPS enter image description here

云:Amazon RDS

实例大小:db.m3.2xlarge

PostgresSQL版本:9.3

Postgres设置:

共享缓冲区(由RDS设置)= 7.3 GB(956978 * 8KB)

更新

  • 尝试将Shared Buffers设置为1GB(没有帮助)

2017年6月5日更新

  • 我为我的数据库创建了一个分支新副本,并将报告软件(DOMO)指向它。新实例中的东西现在看起来很稳定。现在没有读取流量的旧复制品也是稳定的。开始怀疑某种类型的AWS配置问题或什么东西来做数据库中的剩余工件(真空?)。

1 个答案:

答案 0 :(得分:1)

当没有任何内容可以复制时,RDS只读副本延迟指标不会更新。如果master数据库没有复制的更改,那么副本只会在时间强制所谓的检查点上更新 - 从预写日志到表的数据的周期性同步。

这会导致图形如上所示。要查看真实的图形数据,您必须在主设备上生成一些流量,例如每分钟甚至每秒更新一些特殊序列 - 具体取决于您需要的分辨率。

此外,副本图上的主数据库和网络利用率的WAL生成日志也很有趣 - 另一种解释是,副本处理的流量(IO或网络)太多,只能在流量停止时赶上