postgres性能优化
系统优化
修改/etc/grub.conf
关闭numa=,修改磁盘IO调度方式电梯=期限
修改方法:
<代码>肮脏——update-kernel=所有参数=皌ransparent_hugepage=从来没有”——args=暗缣?期限” 验证: 肮脏的——信息=返回 args=" ro crashkernel=汽车rhgb安静numa=电梯=期限”代码>
关闭内存大页hugepage
<代码>验证是否开启方法1: 如果以下文件不存在,则是THP已经从内核中移除。/sys/kernel/mm/transparent_hugepage或/sys/kernel/mm/redhat_transparent_hugepage 验证是否开启方法2: 猫/sys/kernel/mm/transparent_hugepage/启用 (总是)madvise从来没有 (总是)==繁硎究?/代码>
禁用内存大页
方法:
修改/etc/rc.local
<代码> # vi/etc/rc.当地#追加,禁用大页 如果测试- f/sys/kernel/mm/transparent_hugepage/启用;然后 回声从来没有比;/sys/kernel/mm/transparent_hugepage/启用 fi 如果测试- f/sys/kernel/mm/transparent_hugepage/整理磁盘碎片;然后 回声从来没有比;/sys/kernel/mm/transparent_hugepage/整理磁盘碎片 fi 代码>
内核优化
<代码> vi/etc/sysctl.参看代码>
添加内容如下:
<代码> vm。swappiness=0 kernel.shmmax=135497418752 net.core。rmem_max=4194304 net.core。wmem_max=4194304 net.core。rmem_default=262144 net.core。wmem_default=262144 net.ipv4。ip_local_port_range=9000 65535 内核。sem=50100 64128000 50100 1280 vm。dirty_background_bytes=102400000 vm。dirty_ratio=80 vm。nr_hugepages=102352/etc/security/limits.conf *软nofile 655360 *硬nofile 655360 *软nproc 655360 *硬nproc 655360 *软堆栈无限 *硬堆栈无限 *软memlock 250000000 *硬memlock 250000000 代码>
块设备预读
<代码> blockdev——塞特拉- 16384/sda牌汽车 设置开机启动生效: 回声“blockdev——塞特拉- 16384/sda”牌汽车在祝辞/etc/rc.local 代码>
postgres数据层面优化
涉及命令令
改变系统设置
<代码>改变系统设置configuration_parameter{|=}{值|“价值”|默认}代码>
案例:
<代码>改变系统设置max_connections=?0”; 代码>
显示configuration_parameter h5>
案例:
<代码>显示max_connections 代码>
实现原理:
调用该命令的用户必须具有超级用户权限。修改系统配置文件postgresql.conf,通过系统信号,重新加载该配置文件。
查询postgresql配置选项生效级别和默认值信息;
<代码>选择名称,背景,设置,单位,源,源文件从pg_settings; 代码>
<代码>内部:编译期间的设置,只有重新编译才能生效。 邮政局长:只有服务重启才能生效。 sighup:给服务器发送玫瑰信号会是服务器重新加载postgresql.conf配置,可以立即生效。 后端:与sighup类似,但是不影响正在运行的会话,只在新会话中生效 超级用户:使用超级用户(如postgres)才能更改,不用重新加载所有配置即可生效。 用户:单个会话用户可以在任意时间做修改,只会影响该会话。代码>
优化数据库主机配置
系统h5> <代码>/etc/redhat-release
Linux CentOS释放7.5.1804(核心)代码>
内核h5> <代码> uname -
Linux jp33e506 - 3 - 22. - ptengine.com 3.10.0-862.2.3.el7。x86_64 # 1 SMP结婚18:05:47 UTC时间2018年5月9日x86_64 x86_64 x86_64 GNU/Linux代码> >之前
内存h5> <代码> Mem: 128763 代码>
核心优化选项:
邮政局长:只有服务重启才能生效。
<代码>改变系统设置max_connections=?0”;
改变系统设置shared_buffers=30 gb的;
改变系统设置wal_buffers=64 mb的;代码>
sighup:给服务器发送玫瑰信号会是服务器重新加载postgresql.conf配置,可以立即生效。
<代码>改变系统设置checkpoint_completion_target=' 0.9 ';
改变系统设置checkpoint_timeout=?5分钟”;
改变系统设置fsync=畂ff’; 代码>
超级用户:使用超级用户(如postgres)才能更改,不用重新加载所有配置即可生效。
<代码>改变系统设置commit_delay=?0”; Postgresql-11。X性能优化详解
<代码> uname - Linux jp33e506 - 3 - 22. - ptengine.com 3.10.0-862.2.3.el7。x86_64 # 1 SMP结婚18:05:47 UTC时间2018年5月9日x86_64 x86_64 x86_64 GNU/Linux代码> >之前内存h5>
<代码> Mem: 128763 代码>核心优化选项:
邮政局长:只有服务重启才能生效。
<代码>改变系统设置max_connections=?0”; 改变系统设置shared_buffers=30 gb的; 改变系统设置wal_buffers=64 mb的;代码>sighup:给服务器发送玫瑰信号会是服务器重新加载postgresql.conf配置,可以立即生效。
<代码>改变系统设置checkpoint_completion_target=' 0.9 '; 改变系统设置checkpoint_timeout=?5分钟”; 改变系统设置fsync=畂ff’; 代码>超级用户:使用超级用户(如postgres)才能更改,不用重新加载所有配置即可生效。
<代码>改变系统设置commit_delay=?0”;Postgresql-11。X性能优化详解