-
Type: New Feature
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Sharding 2021-05-03, Sharding 2021-05-17, Sharding 2021-06-14, Sharding 2021-05-31
The task is to create a performance test that uses a realistic scenario to measure how resharding impacts customer's workloads.
Rough sketch:
0. Insert initial dataset into a sharded cluster (initial size TBD).
1. Start workload that saturates a cluster's mongod primaries with CRUD operations (ratios TBD)
2. Start a resharding operation on this collection
3. Measure the latency and throughput impact of resharding on the reads/writes
4. Measure the amount of time the resharding coordinators spend in each state.
5. Confirm that the final data in the resharded collection has correct values.
This could be incrementally improved over time. For example, read and write operations could vary with regards to using transactions, the contention to a particular set of shards/documents, the number of shards targeted in a transaction, with concurrent index builds running in the cluster, etc.