Добавить в корзинуПозвонить
Найти в Дзене
Postgres DBA

Влияние агрессивного autovacuum на производительность большой СУБД

Оценить влияние агрессивных настроек autovacuum на производительность СУБД для виртуальной машины с большим количеством ресурсов. CPU = 200 RAM = 1TB Размер тестовой БД = 10TB ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 10000); ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0); ALTER TABLE pgbench_accounts SET (autovacuum_analyze_threshold = 10000); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_insert_scale_factor = 0); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 10000); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_delay = 0); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0); ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 1000); ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0); ALTER TABLE pgbench_accounts SET (autovacuum_analyze_threshold = 1000); ALTER TABLE pgbench_accounts SE
Оглавление
Большой механизм работает по таким же законам как и маленький.
Большой механизм работает по таким же законам как и маленький.

Задача

Оценить влияние агрессивных настроек autovacuum на производительность СУБД для виртуальной машины с большим количеством ресурсов.

Конфигурация виртуальной машины

CPU = 200
RAM = 1TB
Размер тестовой БД = 10TB

Нагрузка в ходе тестирования 5-115

Ось X - тестовая итерация. Ось Y - количество соединений pgbench.
Ось X - тестовая итерация. Ось Y - количество соединений pgbench.

Эксперимент-1 : BASELINE

Базовые настройки autovacuum
Базовые настройки autovacuum

Эксперимент-2 : autovacuum_vacuum_threshold = 10K

ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 10000);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_threshold = 10000);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_insert_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 10000);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_delay = 0);

Эксперимент-3 : autovacuum_vacuum_threshold = 1K

ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 1000);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_threshold = 1000);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_insert_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 1000);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_delay = 0);

Эксперимент-4 : autovacuum_vacuum_cost_limit = 10K

ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_limit = 10000);

Эксперимент-7 : autovacuum_vacuum_threshold=500 autovacuum_vacuum_cost_delay=1 autovacuum_vacuum_cost_limit = 2000

ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_threshold = 500);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_scale_factor = 0);
ALTER TABLE pgbench_accounts SET (autovacuum_analyze_threshold = 500);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_insert_scale_factor = 0);
ALTER TABLE pgbench_accounts SET ( autovacuum_vacuum_insert_threshold = 500 );
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_delay = 1);
ALTER TABLE pgbench_accounts SET (autovacuum_vacuum_cost_limit = 2000);

Операционная скорость по всем экспериментам

Ось X - точка наблюдения. Ось Y - операционная скорость
Ось X - точка наблюдения. Ось Y - операционная скорость

Наибольший прирост производительности зафиксирован в экспериментах 4 и 7.

Операционная скорость в эксперименте-1 и эксперименте-7

Ось X - точка наблюдения. Ось Y - операционная скорость
Ось X - точка наблюдения. Ось Y - операционная скорость
Ось X - точка наблюдения. Ось Y - относительная разница в операционной скорости между экспериментом 7 и 1
Ось X - точка наблюдения. Ось Y - относительная разница в операционной скорости между экспериментом 7 и 1
  • Средний прирост производительности в эксперименте-7 по сравнению с экспериментом-1 составил 13.30%
  • Максимальный прирост производительности в эксперименте-7 по сравнению с экспериментом-1 составил 35.83%