Как я могу узнать, сколько запросов в секунду выполняет моя база данных Postgres?
postgresql
Конрад Гарус
источник
источник
Ответы:
Используйте этот запрос, чтобы прочитать общее количество транзакций, выполненных во всех базах данных:
Если вы хотите один и тот же счетчик только для одной базы данных, используйте:
Чтобы рассчитать TPS (количество транзакций в секунду), выполните запрос несколько раз и рассчитайте разницу во временном интервале.
Для этого есть готовые инструменты, одним из которых является http://bucardo.org/wiki/Check_postgres
Дополнительная информация: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW
Обновление: Конрад исправил мое неправильное понимание его вопроса. Целью было подсчитывать запросы, а не транзакции.
Как считать запросы?
Способ 1
Используйте pg_stat_statements contrib.
Способ 2
Включите полную регистрацию запросов за репрезентативный период времени.
Чтобы включить полное ведение журнала, для PostgreSQL 9.0 - 9.3 измените следующие настройки в
postgresql.conf
Если вы хотите увидеть также запрос продолжительности, вы можете установить
log_min_duration_statement = 0
вместо изlog_statement = all
. Это очень полезно для настройки запросов.Затем перезагрузите конфигурацию (перезапустите или HUP) и соберите достаточно журнала для оценки трафика.
Примечание: ни один из методов не будет включать запросы, встроенные в пользовательские функции.
источник