Pergunta

Recentemente, baixei uma versão de teste do YourKit e, depois de jogar com ele por um tempo, parece ótimo, mas estou preocupado em executá -lo no ambiente de produção. Profilers anteriores que usei colocaram uma sobrecarga inaceitável nos servidores.

Alguém conhece a sobrecarga típica do software YourKit? Ou alguém teve algum problema em executar seu kit em um ambiente de produção?

Estou executando seu kit para java. O servidor que estou perfil é redhat executando o JBoss 4.

Foi útil?

Solução

Eu usei o seu kit na produção, mas em um servidor Tomcat. Funciona muito bem e não notamos grandes despesas gerais de desempenho.

Tivemos muitos casos de servidor Tomcat em execução atrás de um balanceador de carga. Então, colocamos seu kit em um dos servidores e as coisas funcionam muito bem.

Outras dicas

Para sempre se perguntando: Inicialmente, já tivemos problemas de desempenho realmente estranhos, que não conseguimos colocar por um bom tempo.

Por isso, instalamos o seu kit em nossos servidores de produção (TOMCAT) e desabilitamos a telemetria (desabilleExceptionTelemetria, desabableStacktelemetria) conforme recomendado. Então começamos a ajustar a coleção de lixo, mas isso não parecia fazer nenhuma diferença. Ainda assim, ainda em tempos, um dos servidores começaria a mostrar um desempenho ruim. Às vezes se recuperava por si só, mais frequentemente uma reinicialização era a única solução.

Depois de muita depuração e leitura de log, encontramos alguns períodos muito longos de verificação de referência sobre as referências fracas do JNI no log do GC. As sondas do seu kit pareciam mexer com isso de alguma forma.

Depois de desativar as sondas também (BuildinProbes = Nenhum) tudo voltou ao normal. O ajuste da configuração do GC já havia resolvido nossos problemas iniciais de desempenho, mas deixar o YourKit Probes Active criou um novo problema, o que era tão semelhante, que não podíamos diferenciá -los.

Veja aqui para mais detalhes:
Java G1 GC Processamento Objetos de referência Funcionamentos lentos

Eu usei o YourKit nos servidores JBoss e Mule na produção. O que eu senti é que, quando a carga aumenta, ela está jogando fora do erro de memória. Então paramos de usá -lo na produção e o usamos apenas para testes locais.

E usamos o JCONSOLE no servidor de produção para monitorar os recursos do servidor, como CPU, memória, threads.

É realmente útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top