数据库优化前章
来源:互联网 发布:淘宝老瑞贸易可信吗 编辑:程序博客网 时间:2024/06/09 16:21
1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题:
1、选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能,跑DB这种通常需要高运算量的服务就不要考虑节电了;
2、关闭C1E和C States等选项,目的也是为了提升CPU效率;
3、Memory Frequency(内存频率)选择Maximum Performance(最佳性能);
4、内存设置菜单中,启用Node Interleaving,避免NUMA问题;
1.2、磁盘I/O相关
下面几个是按照IOPS性能提升的幅度排序,对于磁盘I/O可优化的一些措施:
1、有阵列卡时,设置阵列写策略为WB,甚至FORCE WB(若有双电保护,或对数据安全性要求不是特别高的话),严禁使用WT策略。
2、尽可能选用RAID-10,而非RAID-5;
3、使用机械盘的话,尽可能选择高转速的,例如选用15KRPM,而不是7.2KRPM的盘
2、系统层相关优化
2.1、文件系统层优化
1、SSD盘的I/O调度为noop
2、磁盘文件需为xfs
3、磁盘挂载参数中增加:noatime, nodiratime, nobarrier几个选项
2.2、其他内核参数优化
针对关键内核参数设定合适的值,目的是为了减少swap的倾向,并且让内存和磁盘I/O不会出现大幅波动,导致瞬间波峰负载:
1、将vm.swappiness设置为5-10左右即可,甚至设置为0(RHEL 7以上则慎重设置为0,除非你允许OOM kill发生),以降低使用SWAP的机会;
2、将vm.dirty_background_ratio设置为5-10,将vm.dirty_ratio设置为它的两倍左右,以确保能持续将脏数据刷新到磁盘,避免瞬间I/O写,产生严重等待;
3、将net.ipv4.tcp_tw_recycle、net.ipv4.tcp_tw_reuse都设置为1,减少TIME_WAIT,提高TCP效率;
篇外话
1、让LINUX系统支持xfs文件系统
1、安装xfs支持包
yum -y install xfsprogs kmod-xfs xorg-x11-xfs xfsdump
2、卸载掉原来已挂在的分区,如让sda2变成xfs分区
umount /dev/sda2
3、格式化成xfs格式
mkfs.xfs -f /dev/sda2
4、重新mount
mount -t xfs -o defaults,noatime,nodiratime /dev/sda2 /data
且写入到/etc/fstab文件中后reboot
/dev/sda2 /data xfs defaults,noatime,nodiratime 1 2
2、更改IO调度算法
# echo noop > /sys/block/vda/queue/scheduler
# time dd if=/dev/sda1 of=/dev/null bs=2M
#echo anticipatory > /sys/block/vda/queue/scheduler
time dd if=/dev/sda1 of=/dev/null bs=2M
# echo cfq > /sys/block/sda/queue/scheduler
time dd if=/dev/sda1 of=/dev/null bs=2M
查看
cat cat /sys/block/vda/queue/scheduler ###vda是指你目前的磁盘
修改
echo 'cfq'>/sys/block/vda/queue/scheduler
立即生效
3、修改内存调度算法(非统一内存访问NUMA)
查看是否支持:dmesg | grep -i numa
numactl --hardware命令则会返回不同节点的内存总大小,可用大小,以及node distance等信息
- 数据库优化前章
- 数据库优化前的10个问题
- 优化数据库前,问自己10个问题
- 优化数据库前,问自己10个问题
- 优化数据库前问自己的10个问题
- 优化数据库前需考虑的十个问题
- 优化数据库前,可以问自己的10个问题
- 优化数据库前必须问自己的10个问题
- 优化数据库前,问自己10个问题
- 优化数据库前,问自己10个问题
- 优化数据库前问自己的10个问题
- 优化数据库前需考虑的十个问题
- 优化数据库前 问自己10个问题
- 优化数据库第二章
- 优化数据库第三章
- 优化数据库第四章
- 优化数据库第五章
- sql 优化前分析
- MySQL到CSV几种方法
- SpringMVC(SSM)获取网页数据和传出数据的几种方式
- 生活科技知识-物理(一)
- Redis存储RDB与AOF
- [ 李超线段树 ] BZOJ3165
- 数据库优化前章
- 常用谷歌浏览器插件
- 计算机视觉这一年:这是最全的一份CV技术报告
- 第五篇实训的博客
- Vim配置方案
- Linux 初步笔记
- RHEL7及CentOS7的语言、字符编码、键盘映射、X11布局设置(localectl)-系统管理(1)
- Deep learning:BN算法
- jupyter notebook使用