系统优化

修改 /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/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

内核优化

vi /etc/sysctl.conf

添加内容如下:

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

kernel.sem = 50100 64128000 50100 1280

vm.dirty_background_bytes = 102400000

vm.dirty_ratio = 80

vm.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 -a

Linux 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 PID

3.使用pg_ctl命令触发SIGHUP信号

$pg_ctl reload

优化后性能对比

绿线为分界线

CPU

参考文档:

https://www.kancloud.cn/taobaomysql/monthly/140098

postgresql 开启大页_Postgresql-11.X 性能优化详解相关推荐

  1. T- SQL性能优化详解

    http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较 ...

  2. Android UI性能优化详解

    此文来自于MrPeak杂货铺,由于没法转载,只能贴这了,妄作者见谅:http://mrpeak.cn/android/2016/01/11/android-performance-ui 设计师,开发人 ...

  3. 转载:SqlServer数据库性能优化详解

    本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小 ...

  4. 一零四、前端性能优化详解

    1 前端性能优化 介绍 页面性能优化 浏览器 浏览器的主要作用 浏览器的组成结构 浏览器是多进程的 浏览器的渲染机制 重排reflow与重绘repaint 页面加载缓慢的原因 浏览器部分 代码部分 优 ...

  5. MYSQL性能优化详解(二)

    接着上一篇学习:http://www.cnblogs.com/quanzhiguo/p/6401453.html 七.MySQL数据库Schema设计的性能优化 高效的模型设计 适度冗余-让Query ...

  6. JavaScript性能优化详解

    性能优化介绍 性能优化是不可避免的 无处不在的前端性能优化 function func(){arr = []arr[100000] = 'lg is a dog' } func() JavaScrip ...

  7. logback性能优化详解

    前言 不正确的日志打印不但会降低程序运行性能,还会占用大量IO资源和硬盘存储空间. 本文主要总结一些能提高日志打印性能的手段. 一.通过AsyncAppender异步输出日志 我们通常使用的Conso ...

  8. SQL--数据库性能优化详解

    转:http://blog.csdn.net/andylaudotnet/article/details/1763573 转载于:https://www.cnblogs.com/zcttxs/p/32 ...

  9. MySQL 开启大页内存

    1. 开启大页内存 概述: 有些硬件或操作系统支持大于默认值的内存页(通常为4KB),这个时取决于底层硬件和操作系统.执行大页内存可以检查设备缓冲区的丢失.也可以改进性能. MySQL 使用Innod ...

最新文章

  1. linux系统桌面缺色,红旗系统如何用?
  2. 年纪都这么大了,还在倒班工作......
  3. java for循环 等待_java – 主题:忙等待 – 空循环
  4. 数学 —— 其他 —— 快速求逆平方根
  5. Magento教程 19:客户评论的审核与发布! (Pending Reviews)
  6. Visual Studio 2019 RC入门——第2部分
  7. javascript——forEach跳出循环
  8. 机械工程师计算机证书考试科目,机械工程师考试科目 内容有哪些
  9. exynos4412,tegra3,msm8960性能对比,参考对照exynos4210
  10. winform中ComboBox下拉框控件的动态数据填充
  11. Autodesk BIM 360 全球在线骇客马拉松
  12. iOS移动开发1x 、2x 、3x图片介绍
  13. Audio Hijack Pro 3.7.4 录制应用程序内播放的声音
  14. 线性规划问题之案例1(奶制品的生产与销售)
  15. 要依赖于抽象,不要依赖于具体
  16. Python | datetime与time模块
  17. VisualStudio各个版本彻底干净卸载
  18. OpenStack关键技术系列: 最全OpenStack知识科普
  19. 开题报告:基于java电子商务购物商城网站系统 毕业设计论文开题报告模板
  20. 宝藏字幕软件 | PotPlayer

热门文章

  1. 柚柚建议收藏,100道Python练手题目(适合新手练级)
  2. 3D卷积的GEMM+IM2COL实现
  3. 特征选择降维聚类变换集群变换KL变换模式识别
  4. 【12月学习进度12/31——特征提取】离散KL变换原理、实例以及matlab实现(转载)
  5. ESP8266学习进阶实用篇(1)——SmartConfig智能配网(附带完整简配版有害气体检测仪开发)
  6. Android模拟器(ADM)打不开/data,无法导出数据库文件
  7. 西门子低代码部署亚马逊AWS容器服务最佳实践
  8. 一次函数在c语言中,一次函数练习题精选
  9. 笔记本键盘按键错乱怎么办
  10. Failed to start LSB: Bring up/down networking