PGCon2016 - 20180510
PGCon 2016
The PostgreSQL Conference
Speakers | |
---|---|
Andres Freund |
Schedule | |
---|---|
Day | Talks - Day 2 - 2016-05-20 |
Room | DMS 1160 |
Start time | 13:00 |
Duration | 00:45 |
Info | |
ID | 958 |
Event type | Lecture |
Track | Hacking |
Language used for presentation | English |
PostgreSQL's buffer manager - Problems & Improvements
The buffer manager (primarily configured by shared_buffers) is the part of Postgres that caches on-disk data in memory. That is required both for correct crash recovery and performance.
Unfortunately some parts are showing its age. We'll discuss how it currently works, what problems there are, and what attempts are in progress to rectify these weaknesses: * Checkpoints can sometimes trigger huge amounts of IO, leading to long delays of concurrent requests * Lookups in the buffer cache are expensive * The Buffer Mapping table is a hash table, making efficient implementations of prefetching, write coalescing, dropping of cache contents hard * Relation extension scales badly * Cache replacement is inefficient and often replaces the wrong buffers * Double Buffering between the OS and postgres
The exact content of the talk will take the state of postgresql's master branch from around the conference into account. It'll less focus on how to tune postgres, and more on how postgres itself can be improved.