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。 |
增加大小能降低系统的不稳定现象。 |
其他还有很多很多参数,具体的根据自己的系统来做相应配置(http://www.postgresql.org/docs/8.4/interactive/runtime-config.html ) |