RE: effective_io_concurrency and NVMe devices
| От | Jakub Wartak |
|---|---|
| Тема | RE: effective_io_concurrency and NVMe devices |
| Дата | |
| Msg-id | PR3PR07MB8243B2CCE16DB5E88F2270EFF6A49@PR3PR07MB8243.eurprd07.prod.outlook.com обсуждение исходный текст |
| Ответ на | Re: effective_io_concurrency and NVMe devices (Tomas Vondra <tomas.vondra@enterprisedb.com>) |
| Ответы |
Re: effective_io_concurrency and NVMe devices
|
| Список | pgsql-hackers |
> >> The attached patch is a trivial version that waits until we're at > >> least > >> 32 pages behind the target, and then prefetches all of them. Maybe give it a > try? > >> (This pretty much disables prefetching for e_i_c below 32, but for an > >> experimental patch that's enough.) > > > > I've tried it at e_i_c=10 initially on David's setup.sql, and most defaults > s_b=128MB, dbsize=8kb but with forced disabled parallel query (for easier > inspection with strace just to be sure//so please don't compare times). > > > > run: > > a) master (e_i_c=10) 181760ms, 185680ms, 185384ms @ ~ 340MB/s and 44k > > IOPS (~122k IOPS practical max here for libaio) > > b) patched(e_i_c=10) 237774ms, 236326ms, ..as you stated it disabled > > prefetching, fadvise() not occurring > > c) patched(e_i_c=128) 90430ms, 88354ms, 85446ms, 78475ms, 74983ms, > > 81432ms (mean=83186ms +/- 5947ms) @ ~570MB/s and 75k IOPS (it even > > peaked for a second on ~122k) > > d) master (e_i_c=128) 116865ms, 101178ms, 89529ms, 95024ms, 89942ms > > 99939ms (mean=98746ms +/- 10118ms) @ ~510MB/s and 65k IOPS (rare peaks > > to 90..100k IOPS) > > > > ~16% benefit sounds good (help me understand: L1i cache?). Maybe it is > > worth throwing that patch onto more advanced / complete performance > > test farm too ? (although it's only for bitmap heap scans) I hope you have some future plans for this patch :) > Yes, kernel certainly does it's own read-ahead, which works pretty well for > sequential patterns. What does > > blockdev --getra /dev/... > > say? It's default, 256 sectors (128kb) so it matches. -J.
В списке pgsql-hackers по дате отправления: