Postgres数据库在Linux中优化
2016-05-12 14:43
696 查看
I/O 优化
1 打开 noatime
方法: 修改 /etc/fstab
stat 命令查看
2 调整预读
方法: 查看 sudo blockdev --getra /dev/sda
设置 sudo blockdev --setra 4096 /dev/sdf (4096个扇区,即2M)
3 调整虚拟内存参数
A 方法: 查看 cat /pro/sys/vm/wappiness
设置 vi /etc/sysctl.conf 添加
vm.swappiness=0 虚拟内存参数 范围 0-100 越大越倾向使用swap空间 ,为了使数据库性能尽量平稳此参数设置为0
vm.overcommit_memory=2 (0 启发式策略、1 调用总成功、2 禁用overcommit,完全避免OOM killer)
生效 sysctl -p
swapoff -a
B 方法:
查看命令 vmstat -an 1 或 cat /proc/meminfo
4 写缓存优化
vm.dirty_background_radio
vm.dirty_radio
vm.dirty_writeback_centisecs
物理内存大将至调低些
5 调整I/O 调度
deadline 平衡所有请求,避免某个请求饿死,让响应时间最优化。
A echo deadline > /sys/block/sddd/queue/scheduler
B 修改 grub.conf
elevator=deadline
内存优化
share_buffers 共享缓存区 推荐值内存的1/4 不要超过 1/2.
work_mem 每个进程单独分配的内存
maintence_work_mem 每个进程单独分配的内存,用于维护操作。
双缓存的优化
说明:数据库中对数据块设计了专门的共享内存缓存区,数据库的数据文件都在文件系统中,操作系统的文件系统也有缓存。
数据库配置 huge_pages = try
systcl vm.nr_hugepages=10240
1 打开 noatime
方法: 修改 /etc/fstab
stat 命令查看
2 调整预读
方法: 查看 sudo blockdev --getra /dev/sda
设置 sudo blockdev --setra 4096 /dev/sdf (4096个扇区,即2M)
3 调整虚拟内存参数
A 方法: 查看 cat /pro/sys/vm/wappiness
设置 vi /etc/sysctl.conf 添加
vm.swappiness=0 虚拟内存参数 范围 0-100 越大越倾向使用swap空间 ,为了使数据库性能尽量平稳此参数设置为0
vm.overcommit_memory=2 (0 启发式策略、1 调用总成功、2 禁用overcommit,完全避免OOM killer)
生效 sysctl -p
swapoff -a
B 方法:
查看命令 vmstat -an 1 或 cat /proc/meminfo
4 写缓存优化
vm.dirty_background_radio
vm.dirty_radio
vm.dirty_writeback_centisecs
物理内存大将至调低些
5 调整I/O 调度
deadline 平衡所有请求,避免某个请求饿死,让响应时间最优化。
A echo deadline > /sys/block/sddd/queue/scheduler
B 修改 grub.conf
elevator=deadline
内存优化
share_buffers 共享缓存区 推荐值内存的1/4 不要超过 1/2.
work_mem 每个进程单独分配的内存
maintence_work_mem 每个进程单独分配的内存,用于维护操作。
双缓存的优化
说明:数据库中对数据块设计了专门的共享内存缓存区,数据库的数据文件都在文件系统中,操作系统的文件系统也有缓存。
数据库配置 huge_pages = try
systcl vm.nr_hugepages=10240
相关文章推荐
- Linux高级编程--05.文件读写
- Linux高级编程--04.GDB调试程序(查看数据)
- Java开发必会的Linux命令
- linux svn客户端 常用命令
- CentOS 7搭建本地yum源
- Linux高级编程--04.GDB调试程序(设置断点)
- Linux高级编程--04.GDB调试程序(入门概述)
- mac 系统不区分大小写,linux 服务器区分大小写
- CentOS7中安装subversion
- Mysql跨平台(Windows,Linux,Mac)使用与安装
- Linux高级编程--03.make和makfile
- Linux高级编程--02.gcc和动态库
- Linux中用到的零长数组
- Linux高级编程--01.vi命令
- Linux 进程间通信
- mysql5.6 centos7下安装之rpm安装
- 学习老男孩教育linux班级的计划书
- 每天进步一点点——Linux中的文件描述符与打开文件之间的关系
- Lsi卡和IB卡在CentOS中升级
- (OK) firefox - Adobe Flash Player 11.2 on Fedora 23/22, CentOS/RHEL 7.2/6.7/5.11