|
Autovacuum tuning
|
|||
---|---|---|---|
#18+
Коллеги , не встречал ли кто методик/best practics по тонкой настройке autivacuum ? То, что дефолтные настройки нужно менять это понятно , но вот как менять в зависимости от особенностей конкретных таблиц, пока не встречал. Например в базе имеются таблицы маленькие но часто обновляемые и большие но редко обновляемые. Предположу , что таблицы должны вакуумировать по разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:56 |
|
Autovacuum tuning
|
|||
---|---|---|---|
#18+
rinaceтаблицы должны вакуумировать по разному. Можно и так. На уровне таблицы легко задаются параметры автовакуума. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 15:02 |
|
Autovacuum tuning
|
|||
---|---|---|---|
#18+
Синий Слонrinaceтаблицы должны вакуумировать по разному. Можно и так. На уровне таблицы легко задаются параметры автовакуума. Вот в этом то и вопрос - как взаимонастраиваются параметры автовакуумирования для таблиц, в зависимости от размеров таблиц(количество строк, длина строки, live/dead) , количества воркеров и т.д. Вот например - для таблицы с короткими строками таблицы правильнее увеличивать autovacuum_analyze_threshold а для таблицы с длинными строками правильнее уменьшать ? При установке autovacuum_analyze_scale_factor = 0 . Пока ничего кроме как крутить и смотреть на результаты по графикам загрузки I/O не приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 15:11 |
|
Autovacuum tuning
|
|||
---|---|---|---|
#18+
rinaceСиний Слонпропущено... Можно и так. На уровне таблицы легко задаются параметры автовакуума. Вот в этом то и вопрос - как взаимонастраиваются параметры автовакуумирования для таблиц, в зависимости от размеров таблиц(количество строк, длина строки, live/dead) , количества воркеров и т.д. Вот например - для таблицы с короткими строками таблицы правильнее увеличивать autovacuum_analyze_threshold а для таблицы с длинными строками правильнее уменьшать ? При установке autovacuum_analyze_scale_factor = 0 . Пока ничего кроме как крутить и смотреть на результаты по графикам загрузки I/O не приходит. При разумной по скорости дисковой подсистеме настройки вида: autovacuum_work_mem = 512MB # min 1MB, or -1 to use maintenance_work_mem vacuum_cost_delay = 0 # 0-100 milliseconds vacuum_cost_page_hit = 0 # 0-10000 credits vacuum_cost_page_miss = 1 # 0-10000 credits vacuum_cost_page_dirty = 10 # 0-10000 credits log_autovacuum_min_duration = 1000 # -1 disables, 0 logs all actions and autovacuum_max_workers = 10 # max number of autovacuum subprocesses autovacuum_naptime = 1000ms # time between autovacuum runs autovacuum_vacuum_threshold = 50 # min number of row updates before autovacuum_analyze_threshold = 5 # min number of row updates before autovacuum_vacuum_scale_factor = 0.05 # fraction of table size before vacuum autovacuum_analyze_scale_factor = 0.01 # fraction of table size before analyze autovacuum_vacuum_cost_delay = 1ms # default vacuum cost delay for подходят для 90% средних и крупных проектов и случаев. Ситуации чтобы надо было крутить настройки autovacuum для отдельных таблиц крайне редки. В этих редких случаях надо крутить это autovacuum_analyze_threshold и autovacuum_analyze_scale_factor (обычно с для повышение первого и уменьшения второго). Все остальное я не помню чтобы я когда то менял в постоянном режиме. autovacuum достаточно умный чтобы не требовать такого ручного вмешательства. PS: не все ручки надо крутить даже если они выведены на бортовую панель. PPS: а вот мониторинг autovacuum что у него не заняты все workers - штука критичная. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 16:05 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=1995532]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 199ms |
0 / 0 |