Estou encarregado de testar o ProxySQL em alguns servidores de teste Tomcat, comparando seu desempenho e utilização de recursos com o pool de conexão Apache DBCP atual. Tenho um plano de teste de carga aproximado, mas tenho experiência quase zero com monitoramento e coleta/comparação de métricas de desempenho no nível do sistema (CPU, memória, disco, rede etc.)
Meu teste de carga envolverá um manual do Ansible que executa várias tarefas preparatórias, aciona os scripts de teste de carga e, finalmente, limpa a si mesmo. Eu gostaria de adicionar "inicia e para a coleta de métricas de desempenho antes e depois do teste de carga, respectivamente", mas não sei quais ferramentas devo analisar.
A solução ideal, na minha opinião, seria algo assim:
- Executa localmente em segundo plano nas caixas do Tomcat
- Configuração simples
- As sessões de monitoramento podem ser iniciadas e interrompidas sob demanda
- Alta resolução (métricas coletadas uma vez por segundo ou até com mais frequência, se necessário)
- Os resultados do monitoramento são facilmente legíveis em algum tipo de ferramenta gráfica para comparar diferentes execuções de teste de carga.
Dadas essas especificações, que tipo de opções estou procurando, tanto para a tarefa de monitoramento em si quanto para a ferramenta gráfica para examiná-las?
Não sei se ele marca todas as caixas, mas dê uma olhada no JMeter .
Se você tiver algo capaz de analisar a saída, o seguinte funciona bem e é MUITO leve:
head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file-nr /proc/sys/kernel/hostname; tail -v -n 16 /proc/net/dev
Você só precisa executá-lo a cada segundo