Que ferramenta usar para identificar um encadeamento do Tomcat com alto uso de CPU?

4

Temos um farm de servidores com carga balanceada usando o Tomcat 7. De vez em quando (uma vez por dia, pelo menos), a carga da CPU de um servidor aumenta muito. Isso parece ser um uso legítimo do servidor e não uma falha, mas não consigo descobrir como identificar o uso específico do site que está causando esses picos de CPU.

Aqui estão as ferramentas que estamos usando:

  • Javamelody, que mostra chamadas de longa duração, mas não quando elas acontecem.
  • Zabbix, que mostra o uso da CPU, mas não o que está causando isso.
  • Os registros do servidor, que, por diretiva de gerenciamento, mostram apenas os encadeamentos, mas não as estatísticas.

Existe alguma maneira de unir essas informações e descobrir quais segmentos estavam sendo executados no momento do pico?

Ou há uma ferramenta melhor que precisamos usar?

    
por user1071914 24.03.2014 / 17:03

3 respostas

2

Java Flight Recorder e Java Mission Control vale a pena se o Oracle Hotspot Jdk 1.7u40 + executar o Tomcat. Lembre-se, você deve executar a JVM com o argumento -XX:+UnlockCommercialFeatures da JVM e fornecer suporte a JMX para poder se conectar ao processo Java com o JMC.

    
por 06.11.2014 / 07:12
1

Nós usamos uma ferramenta chamada psi-probe . É mais uma análise dos dados ao vivo do que uma retrospectiva de um problema ocorrido anteriormente. Mas dá estatísticas para todas as suas diferentes aplicações Web, incluindo conexões, threads, tráfego, etc. É decente para uma ferramenta gratuita.

link

    
por 24.03.2014 / 17:35
1

Se isso for reproduzível ou, pelo menos, ocorrer diariamente, execute NewRelic por um dia ( nível gratuito ) e tente capture isso no nível do SO ... ou integre-o ao aplicativo e obtenha as estatísticas detalhadas. Ferramenta muito útil para algo assim.

Editar:

Acriaçãodeperfistambéméumaopção...

    
por 24.03.2014 / 17:13