Postgresql-11。X性能优化详解

  

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性能优化详解