「MySQL」第02问:怎么模仿磁盘 IO 慢的情况?
本文插图
问题:怎么模仿磁盘 IO 慢的情况?
实验:1. 创建延迟的磁盘
用 dd 创造一片 100M 的文件
本文插图
将创建的文件用 losetup 虚拟成块设备 /dev/loop3
【「MySQL」第02问:怎么模仿磁盘 IO 慢的情况?】
本文插图
将块设备 /dev/loop3 映射成带延迟的设备(对于读操作和写操作都延迟 100ms)
本文插图
2. 用 MySQL 进行实验
将磁盘格式化 , 并载入
本文插图
用 dbdeployer 安装 MySQL , 将 binlog 的位置设置到 /mnt/slow , 开启双 1 刷盘参数
本文插图
用 mysqlslap 进行压力测试
本文插图
通过 iostat 可以观察到 binlog 所在的块设备 IO 发生饱和:
1. dm-0 (/dev/mapper/dm-slow) 设备的 IO 出现了排队(aqu-sz) , 使用率饱和 。
2. loop3 是 dm-0 背后的块设备 , 其 IO 还有充足的能力 , 可证明 dm-0 带有 IO 延迟 。
本文插图
通过 pt-ioprofile 观察 MySQL 的 IO 消耗时间 , 可以看到花费在 binlog IO 上的时间远大于其他消耗 。
本文插图
结果: 我们制造了一个慢 IO 的设备 , 将 MySQL binlog 放在其中 , 制造了 binlog IO 慢的场景 。
有了这个手段 , 之后我们可以分析 MySQL 在局部文件 IO 慢时 , 哪些状态量会发生变化 , 以及 MySQL 会发生什么行为 。
关于 MySQL 的技术内容 , 你们还有什么想知道的吗?赶紧留言告诉小编吧!
- 【新华网】共餐还有这些风险?看看专家怎么说
- #搜狐新闻#迅捷视频转换器转换失败怎么办?能解决吗?
- 『烨然聊科技』走上人生巅峰后,现生活怎么样了?,支付宝大爷因名字成网红
- 智能家:荣耀30s怎么打开悬浮球
- 微信上的聊天记录怎么删除?公布既方便又彻底的方法
- 小户型大屏电视怎么选?认准激光电视就对了!
- 曼果教育:淘宝网店单品流量下降是什么原因?怎么解决
- 笔记本硬盘升级改造计划,三星原厂闪存加持的康佳K520 SSD怎么样
- 【iphone11】降价iPhone 11、入门9,全新升级的无刘海12,果粉怎么选?
- 制空少年▲分到的专业自己不喜欢怎么办?,新兵下连