问
有没有简单的方法,判断 IO 延迟对 MySQL 性能的影响大小
实验
我们找一台 IO 比较差的虚拟机,如果找不到,那么你确实很有钱。
依旧宽油起一个 MySQL 实例:
先用 sysbench 准备一张表:
然后测一下性能
记得多跑几次预热,此处只取最后一次的结果
运行压力时,同时取一下 iostat:
我们发现磁盘 IO 并没有饱和,那么磁盘 IO 的正常延迟, 会对这组 MySQL 的性能造成多大影响呢?
我们来用内存模拟一下磁盘,使用以下命令:
我们停下数据库,将数据目录移到模拟磁盘里
再来跑一下性能测试,使用的 sysbench 命令与刚才相同, 看一下结果:
我们看到性能提高了四倍,我们可以拿着这组数据申请更换磁盘了
我们再来比一下 select 压力:
使用物理磁盘的 select :
使用内存模拟磁盘的 select :
可以看到,对于这组 select 压力,更换磁盘是没有太大用处的,需要使用其他的优化手段
关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!