Postgresql-11.X 性能优化详解
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,postgres 性能优化系统优化修改 /etc/grub.conf关闭 numa=off ,修改磁盘IO调度方式 elevator=deadline修改方法:grubby --update-kern
千家信息网最后更新 2025年02月02日Postgresql-11.X 性能优化详解
postgres 性能优化
系统优化
修改 /etc/grub.conf
关闭 numa=off ,修改磁盘IO调度方式 elevator=deadline
修改方法:
grubby --update-kernel=ALL --args="transparent_hugepage=never" --args="elevator=deadline"验证:grubby --info=ALL返回args="ro crashkernel=auto rhgb quiet numa=off elevator=deadline"
关闭内存大页 hugepage
验证是否开启方法1: 如果以下文件不存在,则是THP已经从内核中移除。/sys/kernel/mm/transparent_hugepage or /sys/kernel/mm/redhat_transparent_hugepage验证是否开启方法2: cat /sys/kernel/mm/transparent_hugepage/enabled[always] madvise never[always] == 》表示开启
禁用内存大页
方法:
修改 /etc/rc.local
# vi /etc/rc.local #追加,禁用大页if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabledfiif test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defragfi
内核优化
vi /etc/sysctl.conf
添加内容如下:
vm.swappiness = 0kernel.shmmax=135497418752net.core.rmem_max = 4194304net.core.wmem_max = 4194304net.core.rmem_default = 262144net.core.wmem_default = 262144net.ipv4.ip_local_port_range = 9000 65535kernel.sem = 50100 64128000 50100 1280vm.dirty_background_bytes = 102400000vm.dirty_ratio = 80vm.nr_hugepages = 102352/etc/security/limits.conf* soft nofile 655360* hard nofile 655360* soft nproc 655360* hard nproc 655360* soft stack unlimited* hard stack unlimited* soft memlock 250000000* hard memlock 250000000
块设备预读
blockdev --setra 16384 /dev/sda设置开机启动生效:echo "blockdev --setra 16384 /dev/sda" >> /etc/rc.local
postgres 数据层面优化
涉及命令令
ALTER SYSTEM SET
ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }
Case:
alter system set max_connections='50';
SHOW configuration_parameter
Case:
show max_connections
实现原理:
调用该命令的用户必须具有超级用户权限。修改系统配置文件postgresql.conf,通过系统信号,重新加载该配置文件.
查询postgresql配置选项生效级别和默认值信息;
select name, context,setting,unit,source,sourcefile from pg_settings;
internal: 编译期间的设置,只有重新编译才能生效。postmaster: 只有服务重启才能生效。sighup: 给服务器发送HUP信号会是服务器重新加载postgresql.conf配置,可以立即生效。backend: 与sighup类似,但是不影响正在运行的会话,只在新会话中生效superuser: 使用superuser(如postgres)才能更改,不用重新加载所有配置即可生效。user: 单个会话用户可以在任意时间做修改,只会影响该会话。
优化数据库主机配置
系统
more /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
内核
uname -aLinux jp33e506-3-22.ptengine.com 3.10.0-862.2.3.el7.x86_64 #1 SMP Wed May 9 18:05:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
内存
Mem: 128763
核心优化选项:
postmaster: 只有服务重启才能生效。
alter system set max_connections='50';alter system set shared_buffers='30GB';alter system set wal_buffers='64MB';
sighup: 给服务器发送HUP信号会是服务器重新加载postgresql.conf配置,可以立即生效。
alter system set checkpoint_completion_target='0.9';alter system set checkpoint_timeout='15min';alter system set fsync='off';
superuser: 使用superuser(如postgres)才能更改,不用重新加载所有配置即可生效。
alter system set commit_delay='10';
user: 单个会话用户可以在任意时间做修改,只会影响该会话。
alter system set autovacuum_work_mem='1GB';alter system set commit_siblings='6';alter system set effective_cache_size='50GB';alter system set maintenance_work_mem='1GB';alter system set work_mem='16MB';
查看 优化结果
show max_connections;show shared_buffers;show wal_buffers;show checkpoint_completion_target;show checkpoint_timeout;show fsync;show commit_delay;show autovacuum_work_mem;show commit_siblings;show effective_cache_size;show maintenance_work_mem;show work_mem;
重新数据库配置的方法
部分优化项重启后才能生效:
1.用超级用户运行postgres=# SELECT pg_reload_conf();2.用UNIX的kill手动发起HUP信号$kill -HUP PID3.使用pg_ctl命令触发SIGHUP信号$pg_ctl reload
或者
systemctl reload postgresql-11.servicesystemctl restart postgresql-11.servicesystemctl status postgresql-11.service
优化后性能对比
绿线为分界线
CPU
参考文档:
https://www.kancloud.cn/taobaomysql/monthly/140098
配置
服务
信号
方法
用户
服务器
系统
内存
内核
只有
数据
文件
影响
验证
性能
不用
单个
命令
数据库
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库医院信息管理系统源码
如何实时抽取数据库
为什么软件开发不了c语言
数据库 主键 唯一键
网络安全设备解说
通信网络技术的总结
西集网络安全园开园
软件服务器不受域名
怪物猎人ol新服务器
网络安全自查网络类型
手机软件开发 首页
软件开发流程输入输出文档
三维模型数据库技术规范
十二星座软件开发
阿优网络技术中心
服务器的硬盘灯亮了
服务器搭建一定要连显示屏吗
网络安全合规建设
工业园区网络技术服务怎么样
吴江区一站式网络技术收费
各品牌跑分对比数据库
管家婆系统重装后数据库如何连接
网络安全云检测在哪里
数据库代码封装
虚拟专用网服务器名称和地址
惠普服务器网卡丢包问题
上海市服务器机房配电系统
上海数据网络技术咨询创造辉煌
晚清民国全文数据库
平远手机软件开发