该章节本人不能做很好的讲解,以下笔记是自留查看,不能帮助大家理解,很抱歉,能理解硬件部分的同学可以自行阅读,不能理解的同学可忽略。
硬件优化:
主机:
根据数据库类型
(1)主机CPU选择
IO密集型:可以处理多并发的CPU类型,特点是核心数量较多,主频中等
Intel E系列
CPU密集型:可以处理高性能计算的cpu类型,主频非常高,核心数量中等
Intel I系列的
MySQL的线上业务,处理高并发访问的业务。属于IO密集型的业务,所以选择志强系列的CPU更好一些。
MySQL非线上的业务,数据处理数据分析,属于CPU密集型业务,所以选择I系列的CPU。
(2)内存容量选择
一般是选择cpu核心数量的2倍
(3)IO的选择
1、磁盘选择
SATAIII SAS FC SSD pci-e SSD Flash
主机 RAID卡的BBU(Battery Backup Unit)关闭
存储(有条件的公司会选择单独存储设备):
根据存储数据种类的不同,选择不同的存储设备
配置合理的RAID级别(raid5、raid10、热备盘)
raid0 :性能高(条带化),安全性和单盘一样
raid1 :安全性高(条带化功能),性能和单盘一样
raid10 :读写性能都很高(0级别条带化功能),安全性高(1级别,镜像功能),企业如果有条件推荐的一种raid级别
raid5 :较好的安全性(校验),较好的性能(条带化功能,读性能比较高,写性能一般),对于读多写少的业务可以使用此级别
高端存储:IBM EMC HDS,一般都是raid1(就是raid10) ,自带条带化功能,而且只支持4块盘做一个raid
使用合适raid级别,避免过度条带化
IOPS峰值:对于每一块硬件磁盘来讲,都有一个固定参数IOPS,每秒最多能够进行的IO的次数。
网络设备:
使用流量支持更高的网络设备(交换机、路由器、网线、网卡、HBA卡)
网卡绑定:
bonding 0 1
交换机:堆叠
系统优化:
1、Swap调整
/proc/sys/vm/swappiness的内容改成0(临时)
echo 0>/proc/sys/vm/swappiness
/etc/sysctl.conf上添加vm.swappiness=0(永久)
vim /etc/sysctl.conf
vm.swappiness=0
sysctl -p
这个参数决定了Linux是倾向于使用swap,还是倾向于释放文件系统cache。在内存紧张的情况下,数值越低越倾向于释放文件系统cache。
当然,这个参数只能减少使用swap的概率,并不能避免Linux使用swap。
2、IO调度策略
临时修改:
[root@db02 ~]# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
[root@db02 ~]# cat /sys/block/sdb/queue/scheduler
noop anticipatory deadline [cfq]
[root@db02 ~]# echo deadline >/sys/block/sda/queue/scheduler
[root@db02 ~]# echo deadline >/sys/block/sdb/queue/scheduler
[root@db02 ~]# cat /sys/block/sdb/queue/scheduler
noop anticipatory [deadline] cfq
[root@db02 ~]#
永久修改:
更改到如下内容:
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=40c9133f-6007-485c-be19-4082c8361df3 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8
rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline rhgb quiet
3、FS:
NO LVM (不要使用LVM技术)
ext4或xfs
ssd(binlog relay)
4、关闭无用服务
chkconfig --level 23456 acpid off
chkconfig --level 23456 anacron off
chkconfig --level 23456 autofs off
chkconfig --level 23456 avahi-daemon off
chkconfig --level 23456 bluetooth off
chkconfig --level 23456 cups off
chkconfig --level 23456 firstboot off
chkconfig --level 23456 haldaemon off
chkconfig --level 23456 hplip off
chkconfig --level 23456 ip6tables off
chkconfig --level 23456 iptables off
chkconfig --level 23456 isdn off
chkconfig --level 23456 pcscd off
chkconfig --level 23456 sendmail off
chkconfig --level 23456 yum-updatesd off
以上:硬件优化建议,操作系统优化建议,应该在业务架构搭建初始应该做好。

