Quantas consultas por segundo meu Postgres está executando?


15

Como posso saber quantas consultas por segundo meu banco de dados do Postgres está executando?



@ thtsigma Não responde a esta pergunta. Consulta estatísticas para o MySQL, apenas estatísticas de transações para PG.

1
Você já experimentou alguma ferramenta de criação de perfil do Postgres, como pg_top ?
precisa saber é

postgresql.org/docs/9.3/static/... por exemplo, selecione tup_inserted de pg_stat_database
sivann

Respostas:


11

Use esta consulta para ler o número total de transações executadas em todos os bancos de dados:

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

Se você deseja o mesmo contador para apenas um banco de dados, use:

SELECT xact_commit+xact_rollback FROM pg_stat_database WHERE datname = 'mydb';

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

logging_collector = on
log_line_prefix = '%t '
log_rotation_size = 1GB
log_statement = all

Se você quiser ver também a duração da consulta, pode definir em log_min_duration_statement = 0 vez de log_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.


Eu sei como calcular transações por segundo. A questão é sobre consultas por segundo especificamente. Uma transação pode ter 0 ou mais consultas.
Konrad Garus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.