I need to test my system with varying degrees of storage latency.

Is there a software solution (for Windows) that would allow me to "fake slow" storage for testing purposes? I'm basically looking for something where I could have a new drive letter backed by real storage with a configurable "minimum latency setting".

Does such software exist off-the-shelf, or can it be achieved through some other means?

  • 1
    Minimum latency would be a terrible way to fake slow storage. With random, multi-user/multi-process workloads, it's not the baseline (zero queue depth) latency that limits capacity; rather, it's IOPS. Delaying each request by 10ms isn't enough. – Skyhawk Oct 10 '13 at 13:49
  • 1
    Wouldn't it be simpler to get an older usb stick to test on? – TheCleaner Oct 10 '13 at 13:56
  • Yes, an old usb stick to test on would be sufficient. – Michael J Swart Oct 10 '13 at 15:08

If you run your software in a virtual machine, using Windows Server 2012R2 as a hypervisor, you can set storage QOS on each disk, limiting the throughput to the IOPS you want.

  • @MichaelJSwart This is probably the best solution for testing purposes (I believe similar results can be achieved with VMWare). You can determine the IOPS load for normal operation, then set the limit at varying levels lower than that threshold in order to simulate "overload" and see how your application behaves. – voretaq7 Oct 10 '13 at 19:15

I'm not familiar with any products that will do this for SATA or SAS. For that you'll need to introduce a real load and performance test.

If you are referring to network storage there are a number of options.

I generally whip up a set of VMs, one of which is set up a transparent network bridge. I prefer CentOS but that's just my background.

By using the TC / EM packages you can emulate a slow network, therefore slow NAS, iSCSI SAN or SMB response. I've done so on several occasions.

  • I know on FreeBSD you could hack something together using GEOM, but that would be pretty painful (and won't work for your Windows case here). Trondh's answer or the network-based ideas suggested here seem to be the closest to what you want (simulating slow/overloaded storage). – voretaq7 Oct 10 '13 at 19:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.