In workloads with:
- Many more threads than CPU cores
- Enough cache pressure that the cache remains 100% full
- Application threads are required to contribute to eviction
- Transactions span multiple operations
Some threads can be tasked with doing more eviction than is fair which leads to occasional operations with longer than expected latencies.
We have gone backwards and forwards on the best approach for sharing eviction when there is lots of cache pressure and many threads.