第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」问题: 怎么模仿磁盘 IO 慢的情况? 实验: 1. 创建延迟的磁盘 用 dd 创造一片 100M 的文件 将创建的文件用 losetup 虚拟成块设备 /dev/loop3 将块设备 /dev/l…

第02问:怎么模仿磁盘 IO 慢的情况?

问题:

怎么模仿磁盘 IO 慢的情况?

实验:

1. 创建延迟的磁盘

用 dd 创造一片 100M 的文件 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

将创建的文件用 losetup 虚拟成块设备 /dev/loop3 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

将块设备 /dev/loop3 映射成带延迟的设备(对于读操作和写操作都延迟 100ms) 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

2. 用 MySQL 进行实验 

将磁盘格式化,并载入

第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

用 dbdeployer 安装 MySQL,将 binlog 的位置设置到 /mnt/slow,开启双 1 刷盘参数 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

用 mysqlslap 进行压力测试 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

通过 iostat 可以观察到 binlog 所在的块设备 IO 发生饱和:

  1. dm-0 (/dev/mapper/dm-slow) 设备的 IO 出现了排队(aqu-sz),使用率饱和。

  2. loop3 是 dm-0 背后的块设备,其 IO 还有充足的能力,可证明 dm-0 带有 IO 延迟。 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

通过 pt-ioprofile 观察 MySQL 的 IO 消耗时间,可以看到花费在 binlog IO 上的时间远大于其他消耗。 第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

结果:

我们制造了一个慢 IO 的设备,将 MySQL binlog 放在其中,制造了 binlog IO 慢的场景。有了这个手段,之后我们可以分析 MySQL 在局部文件 IO 慢时,哪些状态量会发生变化,以及 MySQL 会发生什么行为。


第02问:怎么模仿磁盘 IO 慢的情况?「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9667.html

(0)
上一篇 2023-02-03 15:30
下一篇 2023-02-03

相关推荐

发表回复

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