«Правильно заданный вопрос — это половина ответа. Данная статья — это структурированный список вопросов, которые вы должны задать данным из pg_expecto, чтобы докопаться до истинной причины инцидента.»
Новый инструмент с открытым исходным кодом для статистического анализа, нагрузочного тестирования и построения отчетов доступен в репозиториях GitFlic и GitHub
Задача
Используя отчеты, сформированные с помощью pg_expecto провести анализ метрик производительности СУБД возникновении инцидента производительности СУБД.
Продолжение
Формирование отчетов по метрикам производительности СУБД и инфраструктуры
Входной параметр отчета summary_report.sh:
- Дата и время возникновения инцидента
cd /postgres/pg_expecto/sh/performance_reports
./summary_report.sh '2025-10-25 11:09'
Результаты сводного отчета в виде текстовых файлов сохраняются в папке /tmp/pg_expecto_reports
Период формирования отчетов: 1 час .
Результирующие файлы и импорт отчетов в Excel, аналогичны отчетам по нагрузочному тестированию
Шаг-1: Определение типа ожидания СУБД имеющего наибольшую корреляцию со снижением производительности СУБД
Формирование таблицы в Excel
Отчет:
Результат анализа отчета - определение типа ожидания с наибольшей корреляцией и абсолютным значением.
Тип ожидания IO - имеет наибольшую корреляцию с ожиданиями СУБД и оказывает наибольшее влияние на снижение производительности СУБД в целом.
Шаг-2: Определение проблемных SQL запросов.
Список SQL запросов, вызывающих наибольшее количество событий ожиданий по типу ожидания, оказывающего наибольшее влияние на снижение производительности СУБД.
Формирование таблицы в Excel
Результат анализа отчета - определение SQL запросов и событий ожиданий по типу ожидания оказывающего наибольшее влияние на снижение производительности СУБД.
Проблемные SQL запросы:
- -3805078444547199896
- -4883642671474097249
События ожидания по проблемным запросам:
- DataFileRead: Ожидание чтения из файла данных отношения.
- DataFileWrite: Ожидание записи в файл данных отношения.
- DataFileExtend: Ожидание расширения файла данных отношения.
Итог: типовой шаблон анализа производительности и ожиданий СУБД при расследования инцидентов.
1. Определение типа ожидания СУБД имеющего наибольшую корреляцию со снижением производительности СУБД
2. Определение проблемных SQL запросов.