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

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

实验

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

依旧宽油起一个 MySQL 实例:

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

先用 sysbench 准备一张表:

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

然后测一下性能

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

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

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

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

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

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

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

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

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

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

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

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

我们再来比一下 select 压力:

使用物理磁盘的 select :

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

使用内存模拟磁盘的 select :

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

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


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

你可能感兴趣的:(性能测试io)