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]
