编辑
2024-09-14
数据相关
00
请注意,本文编写于 221 天前,最后修改于 188 天前,其中某些信息可能已经过时。

目录

PostgreSQL配置优化参数详解

PostgreSQL配置优化参数详解

image.png

选项默认值说明是否优化原因
max_connections100允许客户端连接的最大数目因为在测试的过程中,100 个连接已经足够
fsyncon强制把数据同步更新到磁盘系统的 IO 压力很大,为了更好地测试其他配置的影响,将该参数改为 off
shared_buffers24MB决定有多少内存可以被 PostgreSQL 用于缓存数据(推荐内存的 1/4)在 IO 压力很大的情况下,提高该值可以减少 IO
work_mem1MB使内部排序和一些复杂的查询都在这个 buffer 中完成有助提高排序等操作的速度,并且减少 IO
effective_cache_size128MB优化器假设一个查询可以用的最大内存,和 shared_buffers 无关(推荐内存的 1/2)设置稍大,优化器更倾向于使用索引扫描而不是顺序扫描
maintenance_work_mem16MB这里定义的内存仅在 VACUUM 等耗费资源较多的命令调用时使用将该值调大,能加快命令的执行
wal_buffers768kB日志缓存区的大小可以降低 IO,如果遇上较多的并发短事务,应该和 commit_delay 一起使用
checkpoint_segments3设置 WAL log 的最大数量(一个 log 的大小为 16MB)默认的 48MB 的缓存是一个严重的瓶颈,基本上都要设置为 10 以上
checkpoint_completion_target0.5表示 checkpoint 的完成时间要在两个 checkpoint 间隔时间的 N% 内完成能降低平均写入的开销
commit_delay0事务提交后,日志写入 WAL log 到 WAL buffer 写入磁盘的时间间隔。需要配合 commit_siblings能够一次写入多个事务,减少 IO,提高性能
commit_siblings5设置触发 commit_delay 的并发事务数,根据并发事务多少来配置减少 IO,提高性

本文作者:Kevin@灼华

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!