Eu li a resposta do @Mike para Como saber se o ajuste do banco de dados é frutífero (PostgreSQL) , e esse é o tipo de abordagem em que estou pensando para monitorar o desempenho do meu banco de dados (de um aplicativo da Web, muitas conexões, gravações pesadas e lê o tempo todo, dados muito dinâmicos).
A abordagem resume-se assim: quero saber se meu banco de dados pode acompanhar a carga de trabalho, se tem a mesma prontidão ao longo do tempo e, finalmente, se meu ajuste e limpeza são úteis. Portanto, para um indicador geral de bem-estar, monitorar o tempo de consulta (para consultas representativas usadas pelo aplicativo da Web e fluxos de dados) parece sensato e compacto para mim (o tempo de consulta aumenta sem alterações substanciais => o desempenho é degradante). Mas minha pergunta é, será? Além da pergunta vinculada, não encontrei outra fonte para tal abordagem, e ainda tenho alguns buracos sobre como implementar tudo isso, portanto, saber mais de outros exemplos/experiências ou manuais seria muito útil. Mesmo sabendo que essa abordagem não vale a pena, seria interessante.
E para sua informação, eu li sobre pgbench
, mas parece tão asséptico para mim, quero dizer, certamente fornece um ponto de referência, mas o que diz sobre minhas tabelas , meus índices , sobre o ambiente vivo que é meu banco de dados ? (Espero que faça sentido para você o que quero dizer com isso) Talvez eu esteja olhando pgbench
da maneira errada, mas é exatamente isso que quero descobrir!
Nota: Eu trabalho com o Postgres, então uma resposta específica do Postgres seria incrível... mas não é necessária!
Em geral, concordo um pouco: se os clientes estão satisfeitos, não comece a ajustar.
Mas certamente há coisas que podem dar errado sem que você perceba antes que seja tarde demais. Aqui está uma lista aleatória de coisas que devem causar um alerta, sem a pretensão de completude:
pgbench
é mais útil do que você pensa: você pode usá-lo com scripts personalizados que até suportam uma linguagem de script simples para simular diferentes cargas de trabalho.Mas é claro que é essencialmente uma ferramenta para gerar carga artificial para testar o impacto de desempenho de certas alterações e para garantir que você não tenha configurado incorretamente o PostgreSQL ou o sistema operacional.