致使宕机的缘由:web
1. 运行环境: 35%,运行环境能够看作是支持数据库服务器运行的系统和资源集合,包括操做系统,硬盘以及网络面试
2. 性能:35%数据库
3. 复制 20%服务器
4. 各类类型的数据库丢失或者损坏以及其余问题。 10%网络
致使宕机的事件排行架构
1. 在运行环境的问题上,最广泛的问题就是空间耗尽并发
2. 在性能问题上,最广泛的宕机缘由是运行很糟糕的SQL,还有服务器bug和错误的行为致使的app
3. 索引设计也是影响宕机的缘由ide
4. 复制问题一般是因为主备数据不一致高并发
5. 数据丢失一般是因为误删除致使的。
若是你面试时候遇到面试题:MySQL数据库怎么优化,这时你应该从五个方面来回答:
1.硬件优化2.软件优化 3.SQL优化 4.架构优化 5. 流程制度化
硬件方面的优化:
1、服务器级别优化
百度公司的优化已经作的很好了,若是如今他们再去优化时候,就只能从硬件优化了
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. 其余:网卡等(多块网卡)
2、操做系统级别优化
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.
文件系统
ext三、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