我们使用 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
) 会显示增长。但相反,数据库看起来实际上在增长。请帮助我填补我理解上的空白。谢谢你
当表扩展一页时,新的零页总是立即写入数据文件。这样,可以立即检测到空间不足的情况,而不是等到数据需要设置检查点时才检测到。