性能优化,max_wal_size 怎么样?

您好,

从 beta-3 到 beta-4 的最新更新比平时更加“麻烦”,由于日志,我们遇到了类似以下内容的问题:
Consider increasing the configuration parameter "max_wal_size".(请考虑增加配置参数“max_wal_size”。)

由于我在这方面不是专家,通过谷歌搜索发现此参数 max_wal_size 对性能可能非常重要(根据一些说法,仅次于 shared_buffers,见下文):
Tuning max_wal_size in PostgreSQL | EDB (enterprisedb.com)
Tuning Your Postgres Database for High Write Loads (crunchydata.com)
PostgreSQL Performance Tuning and Optimization Guide - Sematext

对此有什么看法?即使这个问题只在更新期间发生,是否也应该更改 max_wal_size 参数?

作为背景,我们有一个拥有超过 700 万个帖子的庞大论坛,消耗大量资源,每周有几次会有 400-600 名并发用户同时刷新、发帖和进行各种操作。这方面没有问题 :smiley:,但有时我们不得不进行优化,并尝试在我们(有限的)资源中获得最佳性能。

1 个赞

运行 SELECT checkpoints_timed, checkpoints_req FROM pg_stat_bgwriter; 对数据库有什么价值?

让我看看我是否理解正确:

SELECT checkpoints_timed, checkpoints_req FROM pg_stat_bgwriter; 
checkpoints_timed | checkpoints_req 
-------------------+-----------------
              4936 |             225
(1 row) 
1 个赞

看起来主要是由更新期间的迁移引起的,而且论坛日常运行正常。

本月我们进行了一些重量级的迁移,您手头有重建日志吗?

2 个赞

不,我稍后可以试着在别处找找,但我相信你的判断 :+1: (论坛除了我提到的高峰时段的一些加载问题外,运行正常)。

1 个赞