SSD engine and IO queue depth

I am always very hesitant to disagree with Steve when it comes to disk/storage stuff :wink:

However, I don’t think this is the whole story. There’s only one write coro-thread in the ssd storage engine. However, writes only go to memory (in AsyncFileCached) - so writing should be relatively fast. The thing that generates disk writes is sync and flush which will write back all dirty pages to disk.

So the actual writing happens outside of the storage engine and if you run on Linux with kernel AIO (which is the default on Linux) you can have many (64 IIRC) parallel writes sent to the kernel.

From experience I can tell you that you can easily saturate a (relatively slow) EBS volume with almost a write-only workload (we use huge caches - so almost all of our reads go to memory).

If you have fast disks, for us the bottleneck was often the CPU. In that case it might make sense to have more than one storage process per disk (though we currently don’t run in that configuration).