EC2上运行的PostgreSQL 9.5复制延迟

EC2上运行的PostgreSQL 9.5复制延迟,postgresql,amazon-web-services,amazon-ec2,postgresql-9.5,Postgresql,Amazon Web Services,Amazon Ec2,Postgresql 9.5,我有一系列PostgreSQL 9.5服务器运行在r4.16xlarge实例和Amazon Linux 1上,从本周开始,这些服务器开始出现几秒钟的复制延迟。配置已更改,但旧配置未保存,因此我不确定以前的设置是什么。以下是自定义值: max_connections = 1500 shared_buffers = 128GB effective_cache_size = 132GB maintenance_work_mem = 128MB checkpoint_completion_target

我有一系列PostgreSQL 9.5服务器运行在
r4.16xlarge
实例和Amazon Linux 1上,从本周开始,这些服务器开始出现几秒钟的复制延迟。配置已更改,但旧配置未保存,因此我不确定以前的设置是什么。以下是自定义值:

max_connections = 1500
shared_buffers = 128GB
effective_cache_size = 132GB
maintenance_work_mem = 128MB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
#effective_io_concurrency = 10
work_mem = 128MB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 64
synchronous_commit = off
驱动器布局如下-4个磁盘用于xlog驱动器,10个磁盘用于常规分区,所有
gp2
磁盘类型

Personalities : [raid0]
md126 : active raid0 xvdo[3] xvdn[2] xvdm[1] xvdl[0]
      419428352 blocks super 1.2 512k chunks

md127 : active raid0 xvdk[9] xvdj[8] xvdi[7] xvdh[6] xvdg[5] xvdf[4] xvde[3] xvdd[2] xvdc[1] xvdb[0]
      2097146880 blocks super 1.2 512k chunks
主服务器是一个较小的
c4.8xlarge
实例,具有以下设置:

max_connections = 1500
shared_buffers = 15GB
effective_cache_size = 45GB
maintenance_work_mem = 1GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 16
work_mem = 26MB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 36
使用此驱动器布局:

Personalities : [raid0]
md126 : active raid0 xvdd[2] xvdc[1] xvdb[0] xvde[3]
      419428352 blocks super 1.2 512k chunks

md127 : active raid0 xvdr[12] xvdg[1] xvdo[9] xvdl[6] xvdh[2] xvdf[0] xvdp[10] xvdu[15] xvdm[7] xvdj[4] xvdn[8] xvdk[5] xvdi[3] xvds[13] xvdt[14] xvdq[11]
      3355435008 blocks super 1.2 512k chunks

我想我正在为这两种实例类型寻找最佳设置,以便消除复制延迟。没有一台服务器是我所说的重载服务器。

进一步挖掘后,我发现以下设置修复了复制延迟:

hot_standby_feedback = on

这可能会导致主机上出现一些WAL膨胀,但现在积压工作已经没有了。

可能是一个蹩脚的网络,也可能是复制冲突。