Резервные копии PostgreSQL без вытеснения данных из кэша Linux
В техническом разборе резервного копирования ClickHouse Managed Postgres показано, как чтение всей базы заполняет кэш Linux и вытесняет данные для запросов. Прямое чтение с O_DIRECT обходит кэш, но отключает упреждающее чтение: ядро больше не загружает следующие порции данных заранее.
На массиве RAID0, где последовательные блоки распределены между дисками, маленький запрос задействует лишь один диск. Поэтому для четырёх дисков команда увеличила размер чтения до 4 МиБ. Число параллельных читателей WAL-G подбирают отдельно, чтобы диски не простаивали между запросами.
В тесте на базе 467 ГБ обычный бэкап вытеснил из кэша все 40 ГиБ заранее прочитанной таблицы, прямое чтение сохранило их. Администраторам PostgreSQL: при настройке бэкапов учитывайте и сохранность кэша, и загрузку дисков.
#разборы #производительность
Post #3066
237
