Ubuntu下PostgreSQL性能调优方法
一 配置与路径
二 内存与WAL关键参数
| 参数 | 作用 | Ubuntu常见默认值 | 建议起始值或范围 |
|---|---|---|---|
| shared_buffers | 共享内存缓存 | 128 MB | 约系统内存的 25% |
| effective_cache_size | 成本估计用的缓存大小(不占用内存) | — | 约系统内存的 50% |
| work_mem | 排序/哈希等内存上限 | — | 例如 16–64 MB;并发高时按连接与排序/哈希操作数估算总占用,避免内存超配 |
| maintenance_work_mem | VACUUM/CREATE INDEX 等维护操作内存 | 64 MB | 例如 1–2 GB(视内存与维护频率) |
| min_wal_size / max_wal_size | 检查点间 WAL 保留量 | — | 1 GB / 4 GB |
| checkpoint_completion_target | 平滑检查点写入 | — | 0.9 |
| wal_buffers | WAL 缓冲区 | — | 16 MB |
| default_statistics_target | 统计信息粒度 | — | 100 |
三 查询与索引优化
四 存储IO与检查点策略
五 监控与压测闭环