模拟慢文件系统

我想在我的系统上运行一些testing,为此我想模拟一个慢速文件系统

那里有简单的select吗? (一个想法,我目前将安装一些TCP,即使本地,然后使用iptables来限制在特定的TCP连接速度)

这是一个select,是的。 将LUN作为networking块设备导出或使用iSCSI,并将抖动,数据包丢失,带宽限制等添加到该path的QoS定义中。 通过这样做,您将会看到链接特性和块设备层对此的反应,而不是“慢”文件系统的影响。

为了让文件系统显得很慢,可以将其填充到每个目录的文件和/或目录计数限制方面的限制。 您还可以将队列深度降低到一个非常小的值,这通常会影响小的(和随机的)IO。

如果没有正确的磁盘驱动器开发和debugging硬件工具包或特殊的内置文件系统,可以让您做这些实验,恐怕这会变得困难。

听起来你已经提出了一个解决scheme – 看看NBD和高级路由指南 。

另一种方法(取决于你的编程技巧)可能是使用FUSE编写自己的文件系统

您可以使用虚拟机并限制磁盘访问。 这应该提供良好的速度控制…仍然不可能只限制读取或写入。

以下是关于如何在Virtualbox 5.8中执行的一些提示。 限制磁盘映像的带宽https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit