MySQL优化-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

MySQL优化

简介:
+关注继续查看

导致宕机的原因:


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



本文转自 维度2018 51CTO博客,原文链接:http://blog.51cto.com/xinsz08/1850716,如需转载请自行联系原作者

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

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9977 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2957 0
mysql优化一
1.show global status      可以列出MySQL服务器运行各种状态值 2.show variables            查询MySQL服务器配置信息     一、慢查询 mysql> show variables like ‘%slow%‘; +-----...
548 0
MySQL优化必须调整的10项配置
当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议。许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项。
741 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10879 0
[MySQL优化案例]系列 — slave延迟很大优化方法
[MySQL优化案例]系列 — slave延迟很大优化方法
26 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13743 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载