read_stream: Issue IO synchronously while in fast path
Andres Freund <andres@anarazel.de>
read_stream: Issue IO synchronously while in fast path While in fast-path, execute any IO that we might encounter synchronously. Because we are, in that moment, not reading ahead, dispatching any occasional IO to workers has the dispatch overhead, without any realistic chance of the IO completing before we need it. This helps io_method=worker performance for workloads that have only occasional cache misses, but where those occasional misses still take long enough to matter. It is likely this is only measurable with fast local storage or workloads with the data in the kernel page cache, as with remote storage the IO latency, not the dispatch-to-worker latency, is the determining factor. Reviewed-by: Melanie Plageman <melanieplageman@gmail.com> Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com> Discussion: https://postgr.es/m/f3xxfrkafjxpyqxywcxricxgyizjirfceychyxsgn7bwjp5eda@kwbduhy7tfmu Discussion: https://postgr.es/m/CAH2-Wz%3DkMg3PNay96cHMT0LFwtxP-cQSRZTZzh1Cixxf8G%3Dzrw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/aio/read_stream.c | modified | +21 −0 |
Discussion
- AIO / read stream heuristics adjustments for index prefetching 23 messages · 2026-03-31 → 2026-04-05
- index prefetching 492 messages · 2023-06-08 → 2026-07-07