Мы создали машину горячего резервирования для базы данных PostgreSQL, которая доводится до предела. Основная БД архивирует сегменты WAL в GCS через wal-g
, а резервный компьютер получает их с wal-g
.
К сожалению, резервная машина не может догнать основную машину! Кажется, он принимает WAL с той же скоростью, с которой мы его производим (~ 4 сегмента / с = ~ 64 МБ / с). А поскольку наша БД составляет ~ 5 ТБ, резервное копирование и восстановление базы всегда запускает нас как минимум на несколько часов позже.
Так что же мы можем реализовать, чтобы ускорить прием WAL в режиме ожидания?
Скорости дисков, сети, памяти и процессора на резервном компьютере должно быть достаточно, но мы не используем их на полную мощность, поэтому, возможно, в нашем postgresql.conf
.
есть место для улучшения.