Quais métricas de desempenho devem ser monitoradas em uma JVM?

4

Eu quero fazer algum monitoramento de desempenho em nossas JVMs.

O que seria interessante monitorar além das coisas óbvias que eu já tenho na minha lista?

  • Memória livre / total da JVM
  • Taxa de GC (quantos por minuto)
  • Duração do GC
por Steve Schnepp 27.10.2009 / 16:16

2 respostas

3

Para aplicativos altamente multithread, as métricas relacionadas ao thread são úteis para monitoramento de desempenho e disponibilidade. Dessa forma, você pode monitorar contenções e filas excessivas, possíveis impasses, esse tipo de coisa.

Também pode ser útil ver como as métricas de thread se correlacionam com métricas de CPU e memória. Por exemplo, se você estiver vendo GCs completos frequentes, seria útil saber que um dos encadeamentos está em execução há muito mais tempo do que você normalmente espera. Pode estar preso em um loop infinito e comendo um monte.

Aqui estão algumas ideias:

link

    
por 28.10.2009 / 09:20
0

Sua lista cobre o essencial. Algumas coisas adicionais:

  • Uso da CPU da JVM
  • Você também pode procurar em JMX (Java Management Extensions) (JMX) para monitorar o que a JVM está fazendo. O JMX permite que você consulte a JVM em busca de itens como memória livre ou detalhes do GC e obtenha informações do aplicativo em execução na VM, se o aplicativo suportar o JMX (por exemplo, a maioria dos appservers). Dessa forma, você pode consultar entradas de log críticas, falhas de banco de dados, número de transações / segundo, etc.
por 27.10.2009 / 18:56