~/talk

Buffer pool performance improvements

Talkat FOSDEM 2021 · on Saturday, 2021-02-06· at 17:30· D.mariadb· [databases, web-performance]

MariaDB 10.5 replaces multiple buffer pool instances with a single buffer pool and a single page-cleaner thread, removes many mutexes in favor of atomic ops, and swaps two 64-page synchronous doublewrite writes for a 128-page asynchronous doublewrite using two memory buffers; batch page flushing moves into user threads (MDEV-23399), reducing eviction stalls. Linux perf record -t finds hotspots. Result: single-threaded page flushing saturates modern I/O, scaling across ~50 cores to thousands of connections with much lower contention.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:45Buffer pool and mini-transactions
  3. 9:51MariaDB 10.5 optimizations
  4. 11:40Buffer pool bottlenecks
  5. 15:32Page flushing improvements
  6. 17:40Doublewrite buffer changes
  7. 18:03Page hash table rewrite
  8. 20:20Batch flushing and checkpoint
  9. 21:51Page cleaner optimizations
  10. 22:54Future improvements in 10.6
  11. 23:44Conclusion and remarks
~/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.