第49问:如何快速判断 IO 延迟对 MySQL 性能的影响

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2022-02-12 23:58

【转载声明】本文为转载文章,原作者「黄炎」,版权归原作者所有。 原文链接:https://mp.weixin.qq.com/s/Rux3THG8_iqQgYrmVamiMw

公众号:杨建荣的学习笔记 · 作者:黄炎 · 发布:2022-02-12 23:58:52 · 原文链接

有没有简单的方法,判断 IO 延迟对 MySQL 性能的影响大小

实验

我们找一台 IO 比较差的虚拟机,如果找不到,那么你确实很有钱。

依旧宽油起一个 MySQL 实例:

先用 sysbench 准备一张表:

然后测一下性能

记得多跑几次预热,此处只取最后一次的结果

运行压力时,同时取一下 iostat :

我们发现磁盘 IO 并没有饱和,那么磁盘 IO 的正常延迟, 会对这组 MySQL 的性能造成多大影响呢?

我们来用内存模拟一下磁盘,使用以下命令:

我们停下数据库,将数据目录移到模拟磁盘里

再来跑一下性能测试,使用的 sysbench 命令与刚才相同, 看一下结果:

我们看到性能提高了四倍,我们可以拿着这组数据申请更换磁盘了

我们再来比一下 select 压力:

使用物理磁盘的 select :

使用内存模拟磁盘的 select :

可以看到,对于这组 select 压力,更换磁盘是没有太大用处的,需要使用其他的优化手段


相关推荐:

第48问:为什么 MySQL 运行时, 不鼓励调整系统时间

第47问:Table definition cache 有什么作用

第46问:MySQL 使用的文件句柄突增, 该如何诊断


关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!

本文关键字:#性能测试# #IO 性能#

想看更多技术好文,点个“在看”吧!

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注