Большую часть времени коэффициент попаданий в буферный кэш нашей базы данных PostgreSQL (версия 13.8, AWS Aurora, совместим с PostgreSQL) составлял где-то около 95–98%. Однако мы наблюдали периодическое падение коэффициента попаданий в буферный кеш до 70%-80%. Мне удалось отследить появление этих провалов в работе вакуума. Всякий раз, когда есть вакуумная активность, мы видим, что коэффициент попаданий в буферный кеш падает до 70-80%.
Я не могу найти прямое утверждение в какой-либо документации, в котором говорится: «Да, вакуумная активность вытесняет буфер, и поэтому это приводит к значительному снижению коэффициента попадания в кэш буфера». Лучшее, что мне удалось, это найти объяснение того, как работает очистка, и в псевдокоде говорится, что «он будет сканировать все страницы, чтобы получить мертвые кортежи», что, как я предполагаю, приведет к загрузке этих страниц в буферный кеш. и заполнить его, возможно, не очень релевантными данными, что в конечном итоге приведет к снижению коэффициента попадания.
Я на правильном пути?
Каковы ссылки на эту связь между активностью очистки и коэффициентом попаданий в буферный кеш?
Документация Vacuum в официальной документации PostgreSQL не упоминает о его влиянии на буферный кеш.





Коэффициент попаданий в кэш падает, когда база данных считывает много страниц, которые не кэшируются. Это именно то, что делает VACUUM, поэтому то, что вы наблюдаете, не очень удивительно. Не волнуйся.
Люди склонны переоценивать значение коэффициента попаданий в кеш. Нет ничего плохого в том, чтобы при необходимости выполнять ввод-вывод.
VACUUM будет использовать стратегию доступа к кольцевому буферу, которая не позволит ему вытеснить очень много других страниц, так как он преимущественно вытесняет свои последние страницы. А вот ВАКУУМУ может самому понадобиться посетить большое количество холодных страниц, которые конечно нужно будет прочитать. Таким образом, VACUUM может привести к падению глобальной частоты попаданий не потому, что другие процессы пропускают страницы, а потому, что у самой очистки есть пропуски страниц.
Пожалуйста, задайте 1 конкретный исследовательский вопрос, не повторяющийся. Запросы на сторонние ресурсы не по теме. Как задать вопрос Справочный центр Сколько исследований ожидается от пользователей Stack Overflow?