Найти в Дзене
Postgres DBA

"SELECT ONLY" - нагрузочное тестирование СУБД PostgreSQL использованием оперативно-тактического комплекса "PG_HAZEL".

Оглавление

Архивный материал. Используемый метод:

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

Анализ и определение причины деградации производительности СУБД за заданный период .

Сценарий нагрузки "SELECT ONLY".

Общее описание схемы и метрик производительности

PG_HAZEL - оперативно-тактический комплекс мониторинга производительности СУБД PostgreSQL .

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

График операционной скорости СУБД за период

Короткий период медианного сглаживания - синий график.

Долгий период медианного сглаживания - красный график.

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

Наблюдается резкое снижение с последующим переходом в горизонтальный тренд.

Сессии в состоянии 'active'

Ось X - точка наблюдения. Ось Y - количество активных сессий на точку времени.
Ось X - точка наблюдения. Ось Y - количество активных сессий на точку времени.

Корреляция между операционной скоростью и количество сессий в состоянии 'active'

График скользящей корреляции.

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

Коэффициент корреляции между операционной скоростью и количеством активных сессий за период наблюдений = -0.7256125569394667 .

Ключевые точки наблюдения.

  • 1-40: положительная корреляция
  • 41-142: отрицательная корреляция
  • 143-179: положительная корреляция
  • 180-197: отрицательная корреляция

Результат корреляционного анализа операционной скорости и активными сессиями :

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

Ожидания СУБД

Ожидания СУБД

Ось X - точка наблюдения. Ось Y - количество ожиданий
Ось X - точка наблюдения. Ось Y - количество ожиданий

Отношение времени ожидания к общему времени работы СУБД

Ось X - точка наблюдения. Ось Y - % ожиданий
Ось X - точка наблюдения. Ось Y - % ожиданий

Результат анализа ожиданий СУБД:

  1. Начиная с точки 56 - резкий рост метрик ожиданий СУБД
  2. Количество ожиданий СУБД - очень не велико.
  3. После точки 81 - относительная доля ожиданий снижается. Однако количество ожиданий не уменьшается , операционная скорость снижается.

Корреляционный анализ ожиданий СУБД

Гипотеза

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

Чуть подробнее

Результат корреляционного анализа

Результат работы сервисного скрипта
Результат работы сервисного скрипта

Результат корреляционного анализа

Снижение операционной скорости вызвано повышенной нагрузкой на СУБД и нехваткой CPU. Ожиданий СУБД влияющих на производительность - не выявлено.

Подтверждением нехватки ресурсов СУБД является рост значений benchmark.

Ось X - точка наблюдения. Ось Y - медианное значение тестового запроса BENCHMARK
Ось X - точка наблюдения. Ось Y - медианное значение тестового запроса BENCHMARK

Итог

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