gpt4 book ai didi

postgresql - Postgres : Checkpoints Are Occurring Too Frequently

转载 作者:行者123 更新时间:2023-11-29 11:13:16 30 4
gpt4 key购买 nike

我们有一个强大的 Postgres 服务器(64 核,384 GB RAM,16 个 15k SAS 驱动器,RAID 10),并且在一天中我们多次重建几个写入密集型的大型数据集。 Apache 和 Tomcat 也在同一台服务器上运行。

在重建这些数据集时,我们每天收到大约 300 次此警告,在很长一段时间内,错误平均间隔 2 - 5 秒:

2015-01-15 12:32:53 EST [11403]: [10841-1] LOG:  checkpoints are occurring too frequently (2 seconds apart)
2015-01-15 12:32:56 EST [11403]: [10845-1] LOG: checkpoints are occurring too frequently (3 seconds apart)
2015-01-15 12:32:58 EST [11403]: [10849-1] LOG: checkpoints are occurring too frequently (2 seconds apart)
2015-01-15 12:33:01 EST [11403]: [10853-1] LOG: checkpoints are occurring too frequently (3 seconds apart)

这些是相关设置:

checkpoint_completion_target    0.7
checkpoint_segments 64
checkpoint_timeout 5min
checkpoint_warning 30s
wal_block_size 8192
wal_buffers 4MB
wal_keep_segments 5000
wal_level hot_standby
wal_receiver_status_interval 10s
wal_segment_size 16MB
wal_sync_method fdatasync
wal_writer_delay 200ms
work_mem 96MB
shared_buffers 24GB
effective_cache_size 128GB

这意味着我们每 2 - 5 秒写入 1024 MB 的 WAL 文件,有时会持续 15 - 30 分钟。

1) 您看到我们可以改进的设置吗?如果您需要记录其他设置,请告诉我。

2) 我们可以使用“SET LOCAL synchronous_commit TO OFF;”吗?在这些写入密集型事务开始时让这些 WAL 写入更多地在后台发生,对其余操作的影响更小?

我们正在重建的数据存储在别处,因此如果电源出现故障并且 RAID 备用电池无法正常工作,一旦数据集再次重建,我们就不会出任何问题。

将“将本地同步提交设置为关闭;”如果这种情况持续 15 - 30 分钟,会造成任何问题吗?或者导致我们使用 WAL 发送器的流复制出现任何问题?

谢谢!

附言。我希望三星开始发售他们的 SM1715 3.2 TB PCIe 企业级 SSD,因为我认为它可以很好地解决我们的问题。

最佳答案

由于 wal_level 设置为 hot_standby,您的服务器正在生成如此多的 WAL 数据。我假设您需要这个,所以避免警告的最佳选择是增加您的 checkpoint_segments。但它们只是 - 警告 - 在批量更新和数据加载期间看到它们是非常普遍和完全正常的。你只是碰巧经常更新。

更改 synchronous_commit 不会更改写入 WAL 的内容,而是更改提交返回以允许操作系统缓冲这些写入的时间。

它可能不适用于您的架构,但您可以通过使用未记录的表进行数据重建来潜在地保存一些 WAL 数据。您的副本将无法访问这些表,但在重建之后您将能够从它们未记录的 sibling 中更新您记录的表。

关于postgresql - Postgres : Checkpoints Are Occurring Too Frequently,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27972393/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com