PG_HAZEL : Процесс оптимизации производительности СУБД PostgreSQL
Взято с основного технического канала Postgres DBA ( возможны правки и дополнения в исходной статье ).
Постановка задачи
Начало работ по использованию результатов корреляционного анализа ожиданий СУБД для подготовке процесса Continual improvement .
Постановка эксперимента
Провести тестирование результатов корреляционного анализа ожиданий на продуктивной СУБД по инцидентам производительности в течении недели .
Конфигурация ВМ и СУБД
Postgres Pro (enterprise certified) 15.10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Soft 11.4.0-1), 64-bit
CPU 50
RAM 88GB
RED OS 7.3
Приоритеты инцидентов
Результат
свыше 80% инцидентов производительности имеют приоритет 4
Количество SQL запросов по инцидентам
SQL запросы участвующие в более 80% инцидентов
Количество SQL запросов участвующих во всех инцидентах = 5
Количество SQL запросов участвующих в 80% инцидентов = 29
Ожидания СУБД
wait_event_type
wait_event
SQL запросы для оптимизации
queryid = 1214551160677155501
План выполнения запроса
Статистика ожиданий по типу IO
История выполнения и событий ожидания по типу IO для queryid = 1214551160677155501
Статистика ожиданий по типу IPC
История выполнения и событий ожидания по типу IPC для queryid = 1214551160677155501
Результаты анализа по SQL queryid = 1214551160677155501
1. Событий ожидания типа IPC существенно больше чем событий по типу IO.
2. На основании результатов проведенных ранее экспериментов , принято решение добавить индекс в таблицу для решения проблемы большого количества ожиданий типа IPC.
3. После добавления индексов , провести анализ результатов .