为什么即使未达到 WAL 限制或检查点,PostgreSQL 数据库大小也会增加

问题描述 投票:0回答:1

我们使用 HammerDB/PostgreSQL 进行硬件性能表征。 PostgreSQL 数据库经过调整以展示最佳硬件性能(检查点设置为 1 小时、min_wal_size 设置为 256GB、max_wal_size 设置为 500GB 等)。 HammerDB 工作负载设置有 1000 个仓库。我们仅运行 HammerDB 10-15 分钟。

我们的数据库安装在单独的磁盘上(位于

/mnt/data
)。在针对特定 VM 设置(在足够高的虚拟用户下)运行 HammerDB 工作负载时,我发现数据磁盘大小增加了大约 0.5 到 1GB/分钟。大部分增长来自目录 (
/mnt/data/13/main/base
),其次是
pg_subtrans
pg_stat_tmp
。鉴于我们在足够短的时间内运行工作负载并且在 WAL 限制内,我假设所有事务都将仅写入 WAL,这意味着只有 WAL 目录 (
/mnt/data/13/main/pg_wal
) 会显示增长。但相反,数据库看起来实际上在增长。请帮助我填补我理解上的空白。谢谢你

postgresql performance-testing database-performance hammerdb
1个回答
0
投票

当表扩展一页时,新的零页总是立即写入数据文件。这样,可以立即检测到空间不足的情况,而不是等到数据需要设置检查点时才检测到。

© www.soinside.com 2019 - 2024. All rights reserved.