postgreSQL有很多可以设置的系统参数,其中对性能影响较大的几个参数如下:
最大连接数
max_connections:最大连接数。默认是 100个。在大系 统中 100个是比 较少的,一般可能都比 100多,但是如果 过大的话,系统性能反而不高。如果访问量确实很大的话,可以用 pgpool 连接池 来管理。 还有就是应用中一些不是经常变化的 master 类似 数据建 议放到内存,以减少大量的数据库访问。
内存关联参数
shared_buffers:设 置数据 库 服 务 器内存共享内存 缓 冲区的使用量 。一般是物理内存的 20%左右。 wal_buffers:WAL共享数据存 储 器使用的内存量。 这个参数要求足够大,如果太小的话, log关 联的磁盘操作过频繁。
work_mem:指定的内存量由内部排序操作和哈希表切 换 到之前使用 临时 磁 盘 文件。 这个参数比较重要的,复杂的 SQL中如果 访问磁盘过多的话,效率会比较低的。
effective_cache_size: 设置用于一个 查 询的有效规模的计划的假设磁盘缓存大小。
WAL关联参数
checkpoint_segments:自动 WAL的 检 查 点之 间 的日志文件段的最大的数量(每段通常是16MB)。
checkpoint_completion_target:指定检 查 对 象的 长 度,作 为检 查 点 间 隔的一小部分。 默 认 值 为 0.5。增加大小能降低系统的不稳定现象。
其他参数参见官方文档:https://www.postgresql.org/docs/10/static/index.html