我有预感某个间歇性错误可能只会在磁盘读取速度较慢时才会出现。故障排除很困难,因为我无法可靠地重现它。
除了简单地使用高优先级进程吞噬 IO 之外,还有什么方法可以模拟缓慢的硬盘吗?
答案1
使用暂无,网络块设备,然后使用 来限制对它的访问速率trickle
。
sudo apt-get install nbd-client nbd-server trickle
答案2
# echo 1 > /proc/sys/vm/drop_caches
这会让你慢下来:)
它会强制您从磁盘读取,而不是利用缓存页面。
如果您真的想要变得更加复杂,您可以使用 scsi 故障注入框架每第 n 次伪造一次读取错误。
答案3
有 USB 1.1 集线器吗?或者 SD 卡速度很慢?它们会将速度降至 10mbps 以下。
答案4
您可以使用虚拟机并限制磁盘访问...以下是有关如何在 Virtualbox 5.8 中执行此操作的一些提示。限制磁盘映像的带宽https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit