~/talk

The path to using AIO in postgres

Talkat PostgreSQL Conference Europe 2023 · 2023-12-12..12-15· [databases]
slides:none on file

Work toward using asynchronous IO and direct IO in Postgres is already in code: 3x speedup for concurrent COPY in 16, a new streaming read interface for easy prefetching, bulk relation extension to avoid extreme fragmentation, and early direct I/O support in v16 (not recommended for general use). Linux can use io_uring for many in-flight requests; posix AIO and Windows support are partial; a worker-based fallback simulates AIO. Sequential scans, checkpoints, VACUUM show large wins (VACUUM examples: 94s→12.3s and 33s→7.7s) and checkpoint/direct I/O moves writes from kernel limits (~2–2.5 GB/s) to much higher throughput.

AI-written summary · about

  1. 0:00Introduction to Postgres IO
  2. 1:01Understanding IO mechanisms
  3. 4:13Implemented infrastructure
  4. 6:41Bulk relation extension
  5. 10:37Experimental direct IO
  6. 11:58Streaming IO abstraction
  7. 14:23Asynchronous IO framework
  8. 16:48Sequential scan performance
  9. 21:12Checkpoint and bgwriter
  10. 23:47WAL writing optimizations
  11. 30:04Vacuum performance gains
  12. 32:49Fsync and buffer management
  13. 35:54Future work and constraints
  14. 38:26Community contributions
  15. 41:11Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.