导致宕机的缘由:
1.运行环境: 35%,运行环境可以看做是支持数据库服务器运行的系统和资源集合,包括操作系统,硬盘以及网络
2.性能:35%
3.复制 20%
4.各种类型的数据库丢失或者损坏以及其他问题。 10%
导致宕机的事件排行
1.在运行环境的问题上,最普遍的问题就是空间耗尽
2.在性能问题上,最普遍的宕机缘由是运行很糟糕的SQL,还有服务器bug和错误的行为导致的
3.索引设计也是影响宕机的缘由
4.复制问题一般是由于主备数据不一致
5.数据丢失一般是由于误删除导致的。
如果你面试时候遇到面试题:MySQL数据库怎么优化,这时你应该从五个方面来回答:
1.硬件优化2.软件优化 3.SQL优化 4.架构优化 5. 流程制度化
今天着重讲一下硬件方面的优化:
一、服务器级别优化
百度公司的优化已经做的很好了,如果目前他们再去优化时候,就只能从硬件优化了
1.服务器选型
SUN小型机、DELL730xd、HPDL380、IBM3850、云服务等 DELLR710
2. CPU个数、内存大小
大内存,高IO,是现代基于web的数据库的必备 (百度的服务器内存 :96G —128个,2个实例 ,CPU 8到16颗)
3.磁盘:SAS、SSD、FIO卡
减小寻道时间、旋转时间、传输时间
ssd (高并发)>sas(线上普通业务)>sata (线下业务)
4. RAID卡电池,RAID级别
WriteBack, ReadAheadNone,Direct,NoWrite Cache if Bad BBU
RAID0 >raid10 >raid5>raid1
5.其他:网卡等(多块网卡)
二、操作系统级别优化
1. I/O调度策略
NOOP、CFQ、Deadline、Anticipatory
临时生效:echo “dadline” >
/sys/block/sda/queue/scheduler
永久生效:/etc/grub.conf中kernel后加elevator=deadline(需要重启)
2. SWAP使用策略
echo”vm.swappiness=10″>>/etc/sysctl.conf
https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/
3.文件系统
ext3、ext4还是使用XFS 准确来说XFS要优于ext系列
4. 避免NUMA问题
numactl –interleave=all即是允许所有的处理器可以交叉访问所有的内存
5. /tmp分区
tmpfs /dev/shm tmpfs defaults 00
设置tmpdir=/tmp之后,某些习惯性把文件写到tmp下的人要改一改习惯了,由于这些文件占用的是内存不是磁盘,而且如果不重启的话是一直占用
6. CPU
关闭服务器的节能模式
查看kondemand进程运行情况:
ps -ef |grepkondemand





