导致宕机的原因:


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


©著作权归作者所有:来自51CTO博客作者互联网老辛的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 踩坑CBO,解决那些坑爹的SQL优化问题
  2. 一台电脑(服务器)安装2个Mysql
  3. ngx_pagespeed-nginx前端优化模块介绍
  4. 复制远程服务器文件命令scp的使用
  5. H3C交换机和华为交换机及服务器对接
  6. 面向边缘计算的资源优化技术研究进展
  7. 酱茄Pro社区商城小程序V1.8.0新增百度网盘插件等功能
  8. Centos下内网DNS主从环境部署记录
  9. Gitblit版本服务器环境部署记录

随机推荐

  1. 大话Android的消息机制(Handler、Looper
  2. Android的常用基本控件ImageView、ListVi
  3. Android Activity全屏和设置背景色
  4. Android---网络编程之Retrofit2整体结构
  5. Android(安卓)Tween 动画 (渐变、缩放、
  6. 聚焦 Android 11: Android 开发者工具
  7. Android * HandleMessage的模型
  8. TextView常用属性介绍
  9. layout中设置图片自适应大小,并且设置最大
  10. AndroidUi(2)-圆角矩形