Como posso saber quantas consultas por segundo meu banco de dados do Postgres está executando?
postgresql
Konrad Garus
fonte
fonte
Respostas:
Use esta consulta para ler o número total de transações executadas em todos os bancos de dados:
Se você deseja o mesmo contador para apenas um banco de dados, use:
Para calcular o TPS (transações por segundo), execute a consulta várias vezes e calcule a diferença ao longo do intervalo de tempo.
Existem ferramentas prontas para isso, uma delas é http://bucardo.org/wiki/Check_postgres
Mais informações: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW
Atualização: Konrad corrigiu meu mal-entendido sobre sua pergunta. O objetivo era contar consultas, não transações.
Como contar consultas?
Método 1
Use pg_stat_statements contrib.
Método 2
Habilite o log completo de consultas por um período representativo.
Para habilitar o log completo, no PostgreSQL 9.0 - 9.3, altere as seguintes configurações em
postgresql.conf
Se você quiser ver também a duração da consulta, pode definir em
log_min_duration_statement = 0
vez delog_statement = all
. Isso é muito útil para o ajuste de consultas.Em seguida, recarregue a configuração (reinicie ou HUP) e colete o registro suficiente para estimar o tráfego.
Nota: nenhum dos métodos incluirá consultas incorporadas em funções definidas pelo usuário.
fonte