百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql优化的思绪介绍
分享文章到:

mysql优化的思绪介绍

发布时间:08/01 来源:未知 浏览: 关键词:
?本篇文章给大家带来的内容是对于mysql优化的思绪介绍,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。 本篇文章给大家带来的内容是对于mysql优化的思绪介绍,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

数据库层面题目解决思绪

个别应急调优的思绪:
针对忽然的业务代办卡顿,没法进行正常的业务处置!需要立马解决的场景!

1、show processlist

2、explain select id ,name from stu where name='clsn'; # ALL id name age sex
select id,name from stu where id=2-1 函数 效果集>30;
show index from table;

3、通过施行规划推断,索引题目(有没有、合分歧理)或者语句自身题目

4、show status like '%lock%'; # 查询锁状态
kill SESSION_ID; # 杀掉有题目的session

通例调优思绪:
针对业务周期性的卡顿,例如在天天 10-11 点业务特殊慢,但是还能够运用,过了这段工夫就好了。

1、查看 slowlog,剖析 slowlog,剖析出查询慢的语句。

2、按照一定优先级,进行一个一个的排查所有慢语句。

3、剖析 top sql,进行 explain 调试,查看语句施行工夫。

4、调整索引或语句自身。

  1. 系统层面

cpu方面:
vmstat、sar top、htop、nmon、mpstat

内存:
free 、ps -aux 、

IO 设施(磁盘、网络):
iostat 、 ss 、 netstat 、 iptraf、iftop、lsof、

vmstat 下令注明:
Procs:r 显示有多少进程正在期待 CPU 工夫。b 显示处于不成中止的休眠的进程数目。在期待 I/O

Memory:swpd 显示被交流到磁盘的数据块的数目。未被运用的数据块,会员缓冲数据块,用于操纵系统的数据块的数目

Swap:操纵系统每秒从磁盘上交流到内存和从内存交流到磁盘的数据块的数目。s1 和 s0 最佳是 0

Io:每秒从设施中读入 b1 的写入到设施 b0 的数据块的数目。反映了磁盘 I/O

System:显示了每秒产生中止的数目(in)和高低文交流(cs)的数目

Cpu:显示用于运转会员代码,系统代码,余暇,期待 I/O 的 CPU 工夫

iostat 下令注明
实例下令: iostat -dk 1 5
iostat -d -k -x 5 (查看设施运用率(%util)和相应工夫(await))

tps:该设施每秒的传输次数。“一次传输”意思是“一次 I/O 要求”。多个逻辑要求可能会被合并为“一次 I/O 要求”。

iops :硬件出厂的时候,厂家定义的一个每秒最大的 IO 次数,"一次传输"要求的大小是未知的。

kB_read/s:每秒从设施(drive expressed)读取的数据量;

KB_wrtn/s:每秒向设施(drive expressed)写入的数据量;

kB_read:读取的总数据量;

kB_wrtn:写入的总数目数据量;这些单位都为 Kilobytes。

  1. 系统层面题目解决方法

你以为到底负载高好,还是低好呢?
在现实的生产中,个别以为 cpu 只有不超过 90% 都没什么题目 。

固然不排除下面这些特别状况:
题目一:cpu 负载高,IO 负载低
内存不足

磁盘机能差

SQL 题目 ------>去数据库层,进一步排查 sql 题目

IO 出题目了(磁盘来临界了、raid 设计欠好、raid 落级、锁、在单位工夫内 tps 过高)

tps 过高: 批量的小数据 IO、批量的全表扫描

题目二:IO 负载高,cpu 负载低
批量小的 IO 写操纵:

autocommit ,发生批量小 IO

IO/PS 磁盘的一个定值,硬件出厂的时候,厂家定义的一个每秒最大的 IO 次数。

批量大的 IO 写操纵

SQL 题目的几率比拼大

题目三:IO 和 cpu 负载都很高
硬件不足了或 SQL 存在题目

五、根基优化

  1. 优化思绪

定位题目点:
硬件 --> 系统 --> 利用 --> 数据库 --> 架构(高可用、读写别离、分库分表)

处置标的目的:
明白优化指标、机能和平安的折中、杜渐防萌

  1. 硬件优化

主机方面:
依据数据库类型,主机 CPU 选中、内存容量选中、磁盘选中

均衡内存和磁盘资源

随机的 I/O 和次序的 I/O

主机 RAID 卡的 BBU(Battery Backup Unit)关闭

cpu 的选中:
cpu 的两个关键因素:核数、主频

依据不一样的业务类型进行选中:

cpu 密集型:盘算比拼多,OLTP 主频很高的 cpu、核数还要多

IO 密集型:查询比拼,OLAP 核数要多,主频纷歧定高的

内存的选中:
OLAP 类型数据库,需要更多内存,和数据猎取量级有关。

OLTP 类型数据个别内存是 cpu 中心数目的 2 倍到 4 倍,没有最好实践。

存储方面:
依据存储数据品种的不一样,选中不一样的存储设施

配置合理的 RAID 级别(raid 5、raid 10、热备盘)

对与操纵系统来讲,不需要太特别的选中,最佳做好冗余(raid1)(ssd、sas 、sata)

raid 卡:主机 raid 卡选中:
实现操纵系统磁盘的冗余(raid1)

均衡内存和磁盘资源

随机的 I/O 和次序的 I/O

主机 RAID 卡的 BBU(Battery Backup Unit)要关闭

网络设施方面:
运用流量支撑更高的网络设施(交流机、路由器、网线、网卡、HBA 卡)

注意:以上这些计划应当在初始设计系统时就应当考虑好。

  1. 办事器硬件优化

1、物理状态灯:

2、自带治理设施:长途控制卡(FENCE 设施:ipmi ilo idarc),开关机、硬件监控。

3、第三方的监控软件、设施(snmp、agent)对物理设备进行监控

4、存储设施:自带的监控平台。EMC2(hp 收购了), 日立(hds),IBM 低端 OEM hds,高端存储是本人技术,huawei存储

  1. 系统优化

Cpu:
根本不需要调整,在硬件选中方面下功夫即可。

内存:
根本不需要调整,在硬件选中方面下功夫即可。

SWAP:
MySQL 尽量以免运用 swap。阿里云的办事器中默许 swap 为 0

IO :
raid、no lvm、 ext4 或 xfs、ssd、IO 调度战略

Swap 调整(不运用 swap 分区)

这个参数决议了 Linux 是倾向于运用 swap,还是倾向于开释文件系统 cache。在内存紧张的状况下,数值越低越倾向于开释文件系统 cache。固然,这个参数只能减少运用 swap 的概率,并不克不及以免 Linux 运用 swap。

修改 MySQL 的配置参数 innodb_flush_method,开启 O_DIRECT 模式。这种状况下,InnoDB 的 buffer pool 会直接绕过文件系统 cache 来拜访磁盘,但是redo log 照旧会运用文件系统 cache。值得注意的是,Redo log 是覆写模式的,即便运用了文件系统的 cache,也不会占用太多

IO 调度战略:

  1. 系统参数调整

Linux 系统内核参数优化:

会员限定参数(MySQL 可以不设定下列配置):

  1. 利用优化

业务利用和数据库利用独立,防火墙:iptables、selinux 等其他无用办事(关闭):

安装图形界面的办事器不要启动图形界面 runlevel 3,别的,思索未来我们的业务可否真的需要 MySQL,还是运用其他品种的数据库。用数据库的最高境地就是不消数据库。

六、数据库优化
SQL 优化标的目的:
施行规划、索引、SQL 改写

架构优化标的目的:
高可用架构、高机能架构、分库分表

  1. 数据库参数优化

调整:
实例整体(高级优化,扩展)

连贯层(根基优化)
设定合理的连贯客户和连贯方式

本篇文章到这里就已经全部完毕了,更多其他出色内容可以关注百分百源码网的MySQL教程视频栏目!

以上就是mysql优化的思绪介绍的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板