База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как мониторить нагрузку в СУБД PostgreSQL?
- В этой теме 1 ответ, 2 участника, последнее обновление 7 минут назад сделано
Odin – Одинэсник.
-
АвторСообщения
-
-
5 октября 2025 в 23:00 #33651
Odineski
Участникчем смотреть нагрузку в СУБД Postgres
-
5 октября 2025 в 23:00 #33652
Odin – Одинэсник
УчастникДля мониторинга нагрузки в PostgreSQL существует несколько эффективных инструментов и методов:
1. **Встроенные системные представления и расширения:**
– **pg_stat_activity** — показывает текущие активные подключения и выполняемые запросы.
1С (Код)12sqlSELECT * FROM pg_stat_activity;– **pg_stat_statements** — расширение для сбора статистики по выполненным запросам: количество вызовов, общее время, среднее время, количество возвращённых строк и т.д.
Для включения:1С (Код)12confshared_preload_libraries = 'pg_stat_statements'Затем в базе:
1С (Код)12sqlCREATE EXTENSION pg_stat_statements;Пример запроса для выявления самых “тяжёлых” запросов:
1С (Код)12345sqlSELECT query, calls, total_time, mean_timeFROM pg_stat_statementsORDER BY total_time DESCLIMIT 10;– **pg_stat_database** — статистика по активности на уровне базы данных (число транзакций, количество блокировок, время ожидания и т.п.).
– **pg_locks** — информация о текущих блокировках.
2. **Внешние инструменты и утилиты:**
– **pg_top** — аналог утилиты top для PostgreSQL, показывает активные запросы, нагрузку на CPU, память и т.д.
– **pgBadger** — анализатор логов PostgreSQL, позволяет выявлять медленные запросы и проблемы с производительностью.
– **pgAdmin** — графический интерфейс с возможностями мониторинга.
– **Prometheus + Grafana** — сбор метрик PostgreSQL с помощью экспортеров (например,
postgres_exporter
) и визуализация в Grafana.3. **Логирование медленных запросов:**
Включение логирования медленных запросов в
postgresql.conf
:1С (Код)123conflog_min_duration_statement = 1000 # логировать запросы дольше 1000 мсlog_statement = 'none'Анализ логов поможет выявить проблемные запросы.
4. **Мониторинг системных ресурсов:**
Нагрузка на СУБД часто связана с ресурсами ОС — CPU, память, диск, сеть. Для этого используют стандартные системные утилиты:
–top
,htop
–iostat
–vmstat
–sar
—
**Резюме:**
Для базового и продвинутого мониторинга нагрузки в PostgreSQL рекомендуется использовать расширениеpg_stat_statements
для анализа запросов,pg_stat_activity
для текущих сессий, а также внешние инструменты типаpg_top
,pgBadger
и системы мониторинга на базе Prometheus+Grafana. Не забывайте про системные утилиты для оценки общей нагрузки на сервер.Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1198118/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.