wal_compression в PostgreSQL сжимает прежде всего полные образы страниц в WAL, а не произвольный WAL-файл целиком. Это уменьшает объём записи и передачи ценой дополнительной работы CPU.
Что такое Write-Ahead Log (WAL) Compression в PostgreSQL? В каких случаях включение сжатия WAL-файлов снижает нагрузку на дисковую подсистему и сеть, а в каких приводит к деградации производительности из-за чрезмерной утилизации ядер CPU?
wal_compression в PostgreSQL сжимает прежде всего полные образы страниц в WAL, а не произвольный WAL-файл целиком. Это уменьшает объём записи и передачи ценой дополнительной работы CPU.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
wal_compression в PostgreSQL сжимает прежде всего полные образы страниц в WAL, а не произвольный WAL-файл целиком. Это уменьшает объём записи и передачи ценой дополнительной работы CPU.
Выигрыш заметен при большом объёме full-page images и ограничениях диска или сети. На CPU-bound системе, при плохо сжимаемых данных или слабой реплике затраты сжатия и восстановления могут ухудшить задержки. Сравнивайте WAL bytes, CPU, commit latency и lag на типичной нагрузке. Доступность pglz, lz4 и zstd зависит от версии и сборки; настройка не заменяет fsync и full_page_writes.
Источник: www.postgresql.org.