wiredtiger/wiredtiger — pull request #185 by michaelcahill (2012-03-19 06:20:36+00:00)
Title: Eviction tuning

Can you please review these changes to improve the performance of eviction for read-only workloads?

The main new idea is to keep the current eviction point pinned in memory, so it can be read by application threads but not evicted. I'm using a new WT_REF state, WT_REF_EVICT_NEXT to do that.

The result is that the eviction server can be doing a walk while application threads are still evict evicting. I've also tweaked the size of the queue and have the eviction server stop evicting when the queue is half empty to go and look for more pages.

Let me know what you think -- these changes make a read-only workload around 3x faster on the 32-core test machine I've been using.

Michael.