最近,在使用PostgreSQL流复制的Google计算引擎环境中,我们遇到了几次相同的问题,我想了解原因,以及是否可以更顺利地修复它。
我们有时会在GCE数据中心的Google内部网络中看到一些通信问题,这些问题总是会触发PG主数据库及其副本之间的复制滞后。所有机器都是Debian-8和PostgreSQL 9.5。
当情况发生时,一切似乎都没问题-主服务器或副本服务器上的PG日志中没有错误,只是主服务器和副本服务器之间的通信似乎异常缓慢或反复失败,因此新的WAL日志被大延迟地传输到副本服务器,因此复制滞后还在增长。
从PostgreSQl内部重新启动复制或在副本上重新启动PostgreSQL并没有真正的帮助-在恢复命令通信中使用scp复制的多个WAL日志恢复到以前令人难以置信的缓慢状态之后。仅重新启动整个实例帮助。重新启动整个虚拟机后,通信将恢复正常,并且几分钟之内就可以恢复甚至长达数小时的延迟。因此,此行为的主要原因似乎在操作系统级别。我尝试检查网络流量,但未发现任何重要信息。我也看不到任何操作系统日志中的任何相关内容。
可以重新启动某些OS服务帮助吗?因此,我不需要重新启动整个VM吗?非常感谢您的任何想法。