开发者社区> 科技小能手> 正文

数据库优化前章

简介:
+关注继续查看

 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等信息

  


本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1908451

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库优化四个方面
数据库优化四个方面
6 0
数据库优化
昨天遇到一个问题, 200万的表里查询9万条数据, 耗时达63秒. 200万数据不算多, 查询9万也还好. 怎么用了这么长的时间呢? 问题是一句非常简单的sql.
75 0
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。
68 0
数据库优化 | 学习笔记
快速学习数据库优化
18 0
数据库优化 - 实例优化
从网上去搜数据库优化基本都是从SQL层次进行优化的,很少有提及到数据库本身的实例优化。就算有也都是基于某个特定数据库的实例优化,本文涵盖目前市面上所有主流数据库的实例优化(Oralce、MySQL、POSTGRES、达梦),按照文章的配置能够将你数据库性能用到80%或以上。
88 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PostgreSQL高并发数据库应用数据
立即下载
数据库上云经典案例分析
立即下载
AliSQL的性能优化实战
立即下载