-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
PERF-4548 identified AutoGetCollection as one important source for findOneById regressions on 7.0. It's also one of the largest contributors to latency in absolute terms.
PERF-4741 created a POC with much simpler logic to acquire a collection for the specific case of findOneById, showing significant improvements for some workloads (e.g. 20% for ycsb_100read on top of PERF-4696).
The main changes of PERF-4741 are:
- Not taking any global locks on the fast path, relying instead on a "hazard-pointer like" mechanism.
- Doesn't canonicalize the query.
- Doesn't instantiate AutoStatsTracker.
- Doesn't take storage tickets on the fast path, it uses a rudimentary rate limiter based on a semaphore, it continues to take locks and tickets on the slow path.
- is related to
-
SERVER-81850 Use a more aggressive IDHACK for find/update/remove by _id
- Closed