Что такое Write-Ahead Log (WAL) Compression в PostgreSQL? В каких случаях включение сжатия WAL-файлов снижает нагрузку на дисковую подсистему и сеть, а в каких приводит к деградации производительности из-за чрезмерной утилизации ядер CPU?

wal_compression в PostgreSQL сжимает прежде всего полные образы страниц в WAL, а не произвольный 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.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее