人为地减慢驾驶速度

人为地减慢驾驶速度

我正在 Windows 上开发一个应用程序,我想测试一下我如何优雅地处理因磁盘 I/O 速度慢而导致瓶颈的情况。不幸的是(幸运的是?),我访问的所有驱动器都太快了,无法正确测试。

在 Windows 上,有没有办法人为地引入访问物理、RAM 和/或网络驱动器的减速(低吞吐量、高延迟和/或两者)?

最好采用某种方式来设置精确的值(“限制为 X kB/s,添加 Y 秒的延迟”)以确保我的测试可重现。

答案1

在 Windows 中,没有内置方法可以在操作系统级别以特定增量来诱导它。不过您可以进行以下测试:

  • 同时运行硬盘压力测试脚本或 HeavyLoad 等工具

  • 答案这里展示如何将进程设置为更高或更低的 I/O 优先级,因此在高 I/O 负载下会有不同的延迟。

  • 在虚拟机中运行 Windows,您可以在其中设置整个 VM 的最大 IOPS 值。

  • 使用 NFS/SMB 共享等网络磁盘位置。在出现极端峰值时暂时断开网络连接,或将网络接口速度设置为 10 Mbps 以进行爬网。

可能有方法可以操纵应用程序内的 I/O 流,但这取决于您如何开发它。

相关内容