Мониторинг запросов на Postgres - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть веб-приложение, которое выполняет запрос к базе данных RDS Postgres.Для этого приложения мы используем разработку на основе соединительных линий, и наши разработчики могут и должны развернуть что-либо на master branch непосредственно в производство.В течение дня, когда мы работаем в условиях низкой рабочей нагрузки, мы не можем видеть никакого снижения производительности в базе данных, но ночью (мы используем курьерскую службу), когда мы испытываем огромную рабочую нагрузку, мы можем иметь некоторое снижение производительности ...

У меня вопрос: как я должен следить за таким поведением?Я не хочу навязывать запуск стресс-теста перед развертыванием в производство.

Я хотел бы иметь инструмент, который может отслеживать нашу базу данных и сообщать, как: «Берегите себя! У вас есть новый запрос (илимедленный запрос) к вашей базе данных, вызванный Pull Request 1234 ".

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Простым решением является использование pg_stat_statements.расширение.Он может показать вам запросы, которые потребляли больше всего времени выполнения, за один взгляд.

0 голосов
/ 03 февраля 2019

Если вы используете RDS для PostgreSQL 10 или можете выполнить обновление до этой версии, то вы можете использовать Performance Insights для мониторинга вашего запущенного экземпляра, чтобы увидеть, какие запросы генерируют нагрузку на ваш экземпляр, и в каких состояниях ожидания находятся эти запросы.Вы можете найти больше информации здесь: https://aws.amazon.com/rds/performance-insights/

Полное раскрытие: я менеджер по продукту для Amazon Aurora PostgreSQL, который был первым механизмом БД, поддерживающим Performance Insights.

...