O que é uma boa estratégia para diagnosticar um Java Application Server que parou de responder?

1

Eu tenho uma instalação do OpenSSO rodando no Glassfish. Tudo está praticamente em estoque com a menor configuração possível para que o sistema funcione. Comecei a me deparar com problemas em que o servidor parará de responder. Ele aceitará solicitações, mas ficará pendente nas respostas. Após cerca de vinte minutos, todos os pedidos são concluídos, rapidamente, e tudo volta ao normal. Infelizmente, os logs não mostram nada fora do comum que estaria causando isso.

O que estou procurando é uma estratégia geral. Como você faria para diagnosticar e resolver problemas como esses em servidores de aplicativos Java?

Obrigado!

    
por tremoloqui 05.06.2009 / 23:59

2 respostas

2

Aqui estão algumas dicas gerais para diagnosticar problemas do Java.

  • Os JDKs recentes vêm com o VisualVM . Você pode anexar isso a uma instância da JVM em execução para monitorar o uso do encadeamento e da memória.
  • Se você está no Linux, você pode usar kill -3 para obter um dump de thread e procurar deadlocks usando o Thread Dump Analyzer
  • Veja em quais informações a Glassfish pode expor via JMX. Você pode então usar o JConsole para anexar ao processo e visualizar as informações do JMX em tempo de execução.
  • Você menciona que os registros não mostram nada. Se este for um problema recorrente, você deve aumentar o nível de registro.
por 06.06.2009 / 00:59
0

Já ouvi coisas boas sobre o Glassbox e há um apresentação sobre o uso do Glassbox com Glassfish pluss outras opções.

    
por 12.06.2009 / 16:31