Анализ инцидентов производительности СУБД PostgreSQL с использованием PG_HAZEL

Серия СУБД PostgreSQL

Взято с основного технического канала Postgres DBA ( возможны правки и дополнения в исходной статье ).

Зри в корень.

Зри в корень.

Начало

"Индикатор снижения скорости" как сигнал для начала корреляционного анализа ожиданий СУБД.

Продолжение

Практическое применение индикатора для проведения анализа инцидентов снижения скорости СУБД .

Постановка задачи

Провести анализ инцидентов производительности СУБД-1 по данным мониторинга индикатора снижения скорости.

Дашборд в Zabbix.

Дашборд в Zabbix.

Порядок проведения анализа инцидентов производительности СУБД

Определение инцидента

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

Приоритет инцидента определяется абсолютным значением коэффициента корреляции между значениями операционной скорости и ожиданиями :

  • Приоритет 4 : |коэффициент корреляции| < 0.5

  • Приоритет 3 : |коэффициент корреляции| >= 0.5

Окончание инцидента - отсутствие корреляции между операционной скоростью и ожиданиями СУБД.

1.Отчет по инцидентам

Таблица по инцидентам за заданный период

Таблица по инцидентам за заданный период

Столбцы таблицы

  • ID : идентификатор инцидента

  • START TIME : время начала инцидента

  • FINISH TIME : время окончания инцидента

  • SPEED REGRESSION LINE SLOPE : угол наклона линии наименьших квадратов для значений операционной скорости СУБД

  • WAITINGS REGRESSION LINE SLOPE : угол наклона линии наименьших квадратов для значений ожиданий СУБД

  • CORRELATION : коэффициент корреляции между операционной скоростью и ожиданиями

  • IO CORRELATION : коэффициент корреляции между ожиданиями СУБД и ожиданиями типа IO

  • IPC CORRELATION : коэффициент корреляции между ожиданиями СУБД и ожиданиями типа IPC

  • LWLOCK CORRELATION : коэффициент корреляции между ожиданиями СУБД и ожиданиями типа LWLOCK

Результаты отчета:

  • Наибольшая корреляция между ожиданиями и типом ожидания IPC

  • Наименьшая корреляция между ожиданиями и типом IO

Результаты отчета:

  • Наибольшая корреляция между ожиданиями и типом ожидания IPC

  • Наименьшая корреляция между ожиданиями и типом IO

Итог:

Наибольшее влияние на снижение операционной скорости в заданный период играют ожидания типа IPC

Серверный процесс ожидает взаимодействия с другим процессом.

2.Отчеты по SQL запроса и типам ожидания на примере анализа по типу IPC

Ожидания типа IPC

TOP-10 SQL выражений по доле ожиданий по выражению среди всех ожиданий типа IPC

TOP-10 SQL выражений по доле ожиданий по выражению среди всех ожиданий типа IPC

толбцы таблицы:

  • QUERYID : значение queryid из представления pgpro_stats

  • PGPRO_PWR QUERYID : шестнадцатеричное значение queryid для использования в отчетах pgpro_pwr.

  • CALLS : количество выполнений за период инцидентов

  • WAITINGS : количество ожиданий типа IPC за период инцидентов

  • WAITINGS TO CALLS : отношение количеств ожиданий типа IPC по SQL выражению к количеству выполнений. Ожиданий на одно выполнение.

  • WAITINGS PPM : относительное значение( в промилле ) ожиданий по типу IPC для данного SQL выражения ко всем ожиданиям типа IPC.

Результат

В результате анализа данных отчета , можно установить SQL запрос/запросы оказывающие наибольшее влияние на количество ожиданий типа IPC. И оптимизация которых окажет наибольший эффект на скорость СУБД.

Анализ по типам ожидания IO , LWLock проводится аналогичным образом.

3. SQL выражения, имеющие набольшие значения ожиданий

Сводная таблица по SQL отсортированная по отношению количества ожиданий к количеству выполнений.

Сводная таблица по SQL отсортированная по отношению количества ожиданий к количеству выполнений.

В результате анализа данных отчета , можно установить SQL запрос/запросы оказывающие наибольшее влияние на ожидания СУБД . И оптимизация которых окажет наибольший эффект на скорость СУБД.

Итоги и планы развития

Мониторинг инцидентов скорости СУБД и сбор статистической информации по инцидентам позволит собрать начальные данные для проведения анализа производительности СУБД за более длительный период времени - неделя, месяц, квартал. И послужит базой для начала работ по процессу управления проблемами производительности СУБД.

Postgres DBA

208 постов27 подписчиков

Правила сообщества

Пока действуют стандартные правила Пикабу.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества