goankur commented on PR #16145:
URL: https://github.com/apache/lucene/pull/16145#issuecomment-6476254463

   I measured the eviction case my [last 
comment](https://github.com/apache/lucene/pull/16145#issuecomment-6376381113) 
said none of my benchmarks covered. 
   
   On the 25M rerank (10k queries, single stream, the head's backoff with SKIP 
set by a property), the first 5k timed queries run fully cached in a 20 GB 
cgroup, then the cgroup drops to 10 GB mid-run. 
   
   Two runs each:
   
   | SKIP | p99 | p999 | major faults, first 10 s after the drop | major 
faults/s, 30–60 s after |
   |---|---|---|---|---|
   | 64 | 17.3 / 17.7 ms | 28 / 34 ms | 13k / 16k | ~200 |
   | 256 | 18.5 / 18.4 ms | 76 / 74 ms | 20k / 21k | ~250 |
   | 1024 | 35.6 / 40.1 ms | 95 / 108 ms | 45k / 67k | ~1,200 |
   
   Before the drop, all three ran at ~228 QPS, so the larger SKIP didn't buy 
anything on the hot side. After it, 1024 recovers slowly: slow queries issue 
fewer prefetches, so each file takes longer to reach its next sample. A drop 
this abrupt is the worst case, but a gradual one leaves each file blind for the 
same number of calls. 
   
   So I'd **keep 64**, and making it configurable as a follow-up sounds good to 
me.
   
   Scripts and per-second data: 
[followup-skip-transition](https://github.com/goankur/lucene/tree/pr16145-eval/results/followup-skip-transition).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to