SERVER-41480, we made a modification to the chunk versioning algorithm that caused an improvement in some scenarios, but regressions in others.
We should add a performance workload that
1) decreases the minimum chunk size to something very small;
2) performs many inserts, which will trigger autosplitting; and
3) measures latency and throughput.
We should do this for several shard key value distributions:
- Insertions that cover the range of shard key values uniformly
- Monotonically increasing shard keys
- (Optional) Gaussian distribution over the range of shard key values
This would give us confidence that future changes to our versioning algorithm won't cause regressions. As part of this, we should verify that the workload would confirm the difference in performance before and after