Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
iotune: adjust num-io-queues recommendation
Ideally we would like to move out of I/O Queues, and allow all shards to dispatch. While we are not there yet, we are still using I/O Queues as a temporary mechanism -- the evolutionary approach. We calculate an amount of I/O Queues based on the IOPS and bandwidth limits of the device, so that each I/O Queue will have a minimum amount of each of those quantities. However, I calculated those early on in the process, where the latency target we had in mind was one task quota. We ended up moving to 3 task quotas as a latency target and as a result there are, in some situations much fewer I/O Queues in the system that what we would like. I saw a regression when comparing Scylla 2.2 and Scylla 2.3 on an AWS EBS device: The new IOTune recommended 1 queue, whereas the old I/O Queue recommended 3. This is exactly the factor of 3 mentioned above. My proposed fix, for now, is to adjust the requirements by that factor of 3, so as to keep configuring systems with the same amount of I/O Queues as they had before. While doing that, we are also rewriting the requirements to be more clear as to where are the magic numbers we used are coming from. As a next step, we should prioritize local all-shards dispatch. Signed-off-by: Glauber Costa <[email protected]> Message-Id: <[email protected]>
- Loading branch information