Como verificar a taxa de transferência (consulta por segundo) de um banco de dados?

3

Eu tenho dbms do PostgreSQL. Eu quero verificar a taxa de transferência ao vivo do DBMS.

Eu quero criar um gráfico de taxa de transferência que será atualizado a cada 10 segundos.

Como faço isso? Qualquer sugestão para o MySQL também será útil.

    
por Rahul Prasad 11.05.2011 / 12:21

3 respostas

4

Dê uma olhada nas tabelas de estatísticas do postgres.

Para obter o número total de confirmações, use a consulta como SELECT SUM(xact_commit) FROM pg_stat_database - essa consulta retornará o número total de confirmações bem-sucedidas em todos os bancos de dados desde o início do servidor. Executar essa consulta a cada N minutos / segundos permitiria que você desenhasse um bom gráfico (subtrair o valor anterior do atual daria a você o número de confirmações concluídas em N minutos).

Eu também sugiro que você use algum sistema de monitoramento para isso, e pode ser útil para outros propósitos. Pessoalmente, estou usando o zabbix e mantenho uma pequena coleção de templates & scripts personalizados, o que me permite ver algo assim:

    
por 11.05.2011 / 13:06
5

O comando mysql show status like 'Queries' fornece o número total de consultas. Você pode executar periodicamente um script que captura esse valor e calcula a taxa de consulta para um intervalo de tempo específico usando a diferença.

ie Se você executar o script a cada minuto e obter a mudança no total de consultas para cada execução e dividir por 60, terá uma estimativa aproximada das consultas de taxa / segundo.

Como exemplo, este comando shell apenas fornecerá o valor do campo "Consultas".   mysql -e "show status like 'Queries'\G" | sed 1,2d | cut -d: -f2

    
por 11.05.2011 / 12:43
1

Um aplicativo de monitoramento como o Munin ou o Nagios pode atender às suas necessidades.

Munin usa o RRDTool e pode coletar & estatísticas do grafo a partir de uma variedade de fontes "out of the box", entre as quais o MySQL (presumivelmente o Postgresql também) estatísticas como o throughput.

O Nagios é um aplicativo de monitoramento de rede completo, mas também pode coletar dados de desempenho com alguma configuração.

    
por 11.05.2011 / 13:08