postgresql 配置文件优化

配置文件

默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件

如果想查看参数修改是否生效,可以用psql连接到数据库后,用<show 选项名> 来查看。
如果要修改shared_buffers, 在ubuntu下可能需要执行命令<sysctl -w>Managing Kernel Resources

主要选项

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

时间: 2024-09-29 00:06:15

postgresql 配置文件优化的相关文章

nginx1.10.3一键安装/系统内核优化/配置文件优化/https/日志切割

下面的是一键安装nginx 1.10.3 最新稳定版本,编译参数是官方推荐的. yum groupinstall "Development Tools"   -y yum  install wget   zlib-devel openssl-devel pcre-devel -y cd /usr/local/src wget http://nginx.org/download/nginx-1.10.3.tar.gz tar zxvf nginx-1.10.3.tar.gz cd ngi

Nginx配置文件优化详解

Nginx配置文件优化详解 对nginx进行优化是重点也是难点,这里给出一些常用的优化措施,以及相关参数的所代表的意思.有些参数需要结合公司服务器进行设置. 全局变量的优化: #定义Nginx运行的用户和用户组user  www  www: #启动进程,通常设置成和cpu的数量相等 worker_processes  8: #为每个进程分配cpu. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 

MySQL-5.5.32 配置文件优化详解

MySQL-5.5.32 配置文件优化详解============================== [TOC] # 一.配置文件说明 > MySQL-5.5.32是Mysql5.5系列中最后一个版本,也是最后一个有配置文件的版本,为什么这么说呢,用过5.6的博友都知道,在mysql5.6中已经不提供配置文件选择,只有一个默认的配置文件,好了,我们今天说的是5.5.32这个版,就不和大家说5.6了,下面我们来具体说一下,mysql5.5.32中,提供可选的几个配置文件, * my-small.

过滤PostgreSQL配置文件中被注释的部分

以下正则可以过滤掉PostgreSQL配置文件被注释的部分,包括'#'前带空格的部分,但参数前带空格的部分不会过滤掉 [email protected]:/opt/pg8122/data> cat postgresql.conf | grep -Ev '^#|^$|^[[:space:]]+[#]' 原文地址:https://www.cnblogs.com/baisha/p/10300025.html

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config)

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config) # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTN

Postgresql 配置文件详解

如果要查看配置文件中的一些选项,则可以登录psql后 使用 命令来查看: show  选项名; show all:  #查看所有数据库参数的值 主要选项: 选项 默认值 说明 是否优化 原因 max_connections 100 允许客户端的最大并发连接数目 否 因为在测试的过程中,100个连接已经足够 fsync on 强制把数据同步更新到磁盘 是 因为系统的IO压力很大,为了更好的测试其他配置的影响,把改参数改为off shared_buffers 24MB 决定有多少内存可以被Postg

连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑

由于是开发阶段,所以并没有配置postgres的参数,都是使用安装时的默认配置,以前运行也不见得有什么不正常,可是前几天我的cpu资源占用突然升高.查看进程,发现有一个postgres的进程占用CPU都是80%以上,而且居高不下: 刚开始以为是配置上需要修改,但事实上,默认配置基本上是很优化的,而且是开发阶段,数据量也并不大.后来通过分析,得出结论,解决问题应该从以下几个方面来逐一考虑: 1,SQL查询方面检查数据检索的索引是否建立,凡是需要查找的字段尽量建立索引,甚至是联合索引:创建索引,包括

PostgreSQL配置优化

硬件和系统配置 操作系统 Ubuntu13.04 系统位数 64 CPU Intel(R) Core(TM)2 Duo CPU 内存 4G 硬盘 Seagate ST2000DM001-1CH164 测试工具 PostgreSQL-9.1.11 测试工具 工具名称 pgbench 数据量 200W(整个数据库大小约为300M) 模拟客户端数 4 线程数 4 测试时间 60秒 准备命令:pgbench -i -s 20 pgbenchdb 测试命令:pgbench -r -j4 -c4 -T60

ZooKeeper的配置文件优化性能(转)

一.前言 ZooKeeper的功能特性通过ZooKeeper配置文件来进行控制管理( zoo.cfg配置文件). ZooKeeper这样的设计其实是有它自身的原因的.通过前面对ZooKeeper的配置可以看出,对ZooKeeper集群进行配置的时候,它的配置文档是完全相同的(对于集群伪分布模式来说,只有很少的部分是不同的).这样的配置方使得在部署ZooKeeper服务的时候非常地方便.另外,如果服务器使用不同的配置文件,必须要确保不同配置文件中的服务器列表相匹配. 在设置ZooKeeper配置文