【发布时间】:2013-09-25 23:53:35
【问题描述】:
我们最近通过Postgres documentation 中描述为日志传送备用服务器的方法为我们的 postgres (9.0.4) 数据库服务器实现了高可用性。一切似乎都很好并且工作正常,WAL 文件正在发送并被备用服务器摄取,但我们在主从机器之间体验到滞后。延迟大约是 2 小时,这实在无法接受。
这种滞后的原因可能是什么?这台机器除了 postgres 服务器之外没有运行其他任何东西,尽管与生产服务器相比它确实使用了更慢的硬盘驱动器。如何检查磁盘 I/O 是否导致问题?
如果我检查服务器上正在运行哪些进程,我会发现正在恢复最新 WAL 文件的 postgres 启动进程和逐步摄取归档 WAL 的 pg_standby 实用程序之间存在持续的争斗。启动过程一直在运行正常吗?
ps 示例:
postgres 1422 0.0 1.0 13061220 131568 ? S Sep20 0:01 /usr/pgsql-9.0/bin/postmaster -p 5433 -D /data/pgsql_5433/data
postgres 1431 0.0 0.0 176928 512 ? Ss Sep20 0:12 postgres: logger process
postgres 1432 70.5 72.0 13068604 8775544 ? Ss Sep20 5744:15 postgres: startup process waiting for 000000010000181F00000016
postgres 1437 0.2 70.4 13068336 8582736 ? Ss Sep20 22:50 postgres: writer process
postgres 32199 0.0 0.0 4064 484 ? S 01:46 0:00 /usr/pgsql-9.0/bin/pg_standby -l -t/data/pgsql_5433/trigger /data/pgsql_5433/psql_wal_import 000000010000181F00000016 pg_xlog/RECOVERYXLOG 000000010000181E00000051
我会很感激任何提示...
【问题讨论】:
-
最新补丁是 9.0.13 版,你落后了 7 个补丁/2 年。查看发行说明,看看是否有与复制相关的内容。
标签: database postgresql backup high-availability log-shipping