pg_expecto - статистический анализ производительности и ожиданий СУБД PostgreSQL.
Комплекс pg_expecto, предназначен для глубокого статистического анализа и тестирования производительности СУБД. Релиз знаменует собой появление мощного и свободно распространяемого инструмента для администраторов баз данных и разработчиков.
Основная задача pg_expecto — предоставить комплексный инструментарий для выявления узких мест и оптимизации работы PostgreSQL. В отличие от некоторых современных решений, pg_expecto сознательно сфокусирован на надежных и проверенных статистических методах, что обеспечивает полный контроль и прозрачность процесса анализа.
Ключевые особенности pg_expecto
- Всесторонний статистический и корреляционный анализ: Выполнение глубокого анализа производительности PostgreSQL и событий ожидания (wait_event_type/wait_event), помогет установить корреляцию между внутренним состоянием СУБД и общей производительностью системы.
- Мониторинг операционной системы: pg_expecto выходит за рамки самой СУБД и включает в себя инструменты для сбора и анализа метрик операционной системы с помощью утилит vmstat и iostat. Это позволяет напрямую увязать нагрузку на диск, память и процессор с поведением базы данных.
- Встроенное нагрузочное тестирование: Пользователи могут проводить нагрузочные тесты непосредственно с помощью pg_expecto, оценивая, как база данных ведет себя под давлением, и определяя пределы ее производительности.
- Построение отчетов для Excel: Развитые возможности построения отчетов позволяют легко экспортировать результаты анализа в форматы, совместимые с Microsoft Excel, что упрощает дальнейшую обработку, визуализацию и представление данных руководству.
- Обширная база знаний: В распоряжение пользователей передан большой объем материалов по результатам экспериментов с проектом pg_hazel, служащий ценным источником знаний и практических примеров для проведения эффективного анализа.
- Проактивный мониторинг: Формирование репрезентативных профилей производительности систем наблюдения посредством разработки стандартизированных файлов метрических данных. Регистрация события снижения производительности системы управления базами данных служит триггером инициирования стандартных и приоритетных инцидентов реагирования.
- Интеграция с нейросетью: Автоматическое конструирование вводных инструкций для искусственной нейронной сети, предназначенных для осуществления семантического анализа рекомендаций относительно минимизации задержек обработки в системах управления базами данных и улучшения структуры сложных SQL-запросов, предварительно выявленных методами корреляционной аналитики событий ухудшения производительности СУБД.
- Версия 4.0 обеспечивает возможность кастомизации сценариев тестирования и поддерживает использование выделенного экземпляра базы данных в качестве тестового полигона для проведения нагрузочного тестирования.
Контакты
- Ринат Сунгатуллин kznalp@yandex.ru
- Дзен-канал : https://dzen.ru/kznalp
- Телеграм-канал : https://t.me/pg_hazel
Статус проекта
Текущая версия: 4
Установка (Installation)
ВАЖНО
Для работы pg_expecto требуются установленные библиотеки расширений pg_stat_statements и pg_wait_sampling
Значение параметра shared_preload_libraries должно быть:
shared_preload_libraries=‘pg_stat_statements , pg_wait_sampling’
Порядок библиотек ВАЖЕН
Инсталляция
- Распаковать zip-архив проекта(pg_expecto-main.zip) : в результате будет подготовлена папка: pg_expecto-main
- Скопировать содержимое на целевой сервер СУБД в папку: /tmp/pg_expecto
- Используя учетную запись postgres, на целевом сервере СУБД cоздать сервисную папку: mkdir /postgres/pg_expecto
- Скопировать инсталлятор: cp /tmp/pg_expecto/pg_expecto_install.sh /postgres/pg_expecto/
- Перейти в папку для начала инсталляции: cd /postgres/pg_expecto
- Подготовить скрипт инсталлятора: chmod 750 pg_expecto_install.sh
- Запустить инсталлятор: ./pg_expecto_install.sh
Мониторинг работоспособности pg_expecto
tail -f /postgres/pg_expecto/sh/pg_expecto.log
Использование pg_expecto
- PG_EXPECTO: Нагрузочное тестирование СУБД PostgreSQL
- PG_EXPECTO: Аудит производительности инфраструктуры при нагрузочном тестировании СУБД PostgreSQL
- Типовой шаблон расследования инцидентов PostgreSQL с помощью pg_expecto. Часть 1: Анализ на уровне СУБД
- Типовой шаблон расследования инцидентов PostgreSQL с помощью pg_expecto. Часть 2: Детальный разбор инфраструктуры сервера
- Использование PG_EXPECTO для выявления проблемных SQL запросов при анализе инцидента производительности СУБД PostgreSQL
- PG_EXPECTO : Настройка сценариев нагрузочного тестирования СУБД PostgreSQL
- PG_EXPECTO 4 + Демобаза 2.0 : использование тестовой базы данных для нагрузочного тестирования СУБД
Исходные файлы
Исходные файлы проекта также доступны в репозитории GitHub:pg_expecto
Описание
Комплекс статистического анализа производительности СУБД PostgreSQL