Toad World® Forums

correct benchmark for heavy I/O


I’ve got a server with lots of cores (64) and lots of memory (1TB) and I want to run a test that stresses the Disk I/O. I want to be able to run it and add/subtract/change disks and get some comparison values. I thought using BMF with TPC-C would do it but it doesn’t seem to. I’ve got one client and am running 40 users and a scale of 1000. I thought instead of playing around with this I’d ask to see what the experts might say.


For context, I work in a software R&D lab for a storage company.

I don’t typically use BMF to stress the IO subsystem, but I do use the TPC-C or TPC-E benchmarks to baseline and compare various options which seems to be what you want. There are a couple of things that you need to keep in mind:

1 - More memory => Less IO. If you want to push up the IO that is happening for a given user load, you have to reduce the amount of buffer cache on the server.

2 - There is a 10 user per warehouse recommendation to avoid deadlocks (in -C), it’s pretty limiting. For your 1000 WH database mentioned that means that the recommended max load is 10,000 virtual users. My experience is that beyond this level your results become a bit unpredictable.

3 - MS SQL Server at least, has a max number of user connections (32,767), if you try to start more than this it will fail. Once I get to that level I typically start adjusting the latency timings on the transactions to drive more TPS per virtual user, since I don’t care about TPC-C compliance in most cases.

Hope this helps.

John Moran

Message was edited by: jmoran


Try the TPC-H. It is a very disk IO intensive test. And if you need more than the standard Power Test, which is a single user test, try the Stream test which you can download from this community at;

The stream test is a multi-user version of the Power Test.