powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay
2 сообщений из 2, страница 1 из 1
Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay
    #40138091
Alexey Trizno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, помогите разобраться - куда дальше копать.
У нас огромные базы (10+ Tb, разбитые на базы по 100-500Gb).
В части баз есть таблицы с постоянными update, т.е. dead tupples плодятся безбожно.
И всё бы хорошо, пока работает autovacuum и дополнительно ночью ещё проходимся ручным vacuum (analyze, skip_locked) для таблиц, где dead_tupples > 5%.

Сначала всё уперолось (по ощущениям) в дефолтный cost-based autovacuum - воркеры просто не запускаются после какого-то периода, и могут не работать 1-2 суток. Вчера отключили это, поставив autovacuum_vacuum_cost_delay = 0. Проблема сразу решилась, autovacuum стал работать четко 1 раз в минуту, согласно указанного autovacuum_naptime.

Но вдруг это всё остановилось. Воркеры autovacuum перестали опять запускаться, dead tupples плодятся, что приводит к выборке по 100мс из таблицы, где всего 23 записи.

Что смотреть? Почему оно опять перестало работать? Что проверить?

Настройки кластера примерно такие:

autovacuum = on
log_autovacuum_min_duration = 1000

autovacuum_max_workers = 4
autovacuum_naptime = 1min
autovacuum_vacuum_threshold = 50
autovacuum_analyze_threshold = 50
autovacuum_vacuum_scale_factor = 0.10
autovacuum_analyze_scale_factor = 0.05

autovacuum_vacuum_cost_delay = 0
autovacuum_vacuum_cost_limit = 1000

Ошибок в логе кластера - нет.
Снимок экрана 2023-09-27 в 15.22.01.png
...
Рейтинг: 0 / 0
Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay
    #40138093
Silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Trizno [игнорируется] 

autovacuum_vacuum_scale_factor - правильное значение 0.001 ! (сколько процентов должно поменятся в таблице, что бы запустился автовакуум)
autovacuum_max_workers - попробуйте поднять до (10-20)

ну либо используйте
autovacuum_vacuum_threshold определяет абсолютное значение (в штуках),

alter table contact_pools (autovacuum_vacuum_scale_factor = 0.0)
alter table contact_pools set (autovacuum_vacuum_threshold = 10000)
...
Изменено: 30.09.2023, 05:41 - Silver
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (5): Анонимы (5)
Пользователи онлайн (17): Анонимы (14), Bing Bot 1 мин., Yandex Bot 1 мин., Google Bot 7 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]