![13 atualizações práticas para otimizar o desempenho do site](https://optimuscloud.com.br/wp-content/uploads/2024/06/1719258244_13-atualizacoes-praticas-para-otimizar-o-desempenho-do-site-150x150.jpg)
13 atualizações práticas para otimizar o desempenho do site
24 de junho de 2024Como os ‘Projetos’ e os novos recursos de compartilhamento da Anthropic estão revolucionando o trabalho em equipe de IA
25 de junho de 2024Java Flight Recorder (JFR) é a tecnologia ideal para gravar e visualizar Java Virtual Machine (JVM) e métricas do sistema. Os logs JFR revelam muito sobre o aplicativo em execução, a integridade da JVM e a estabilidade do sistema. Você pode acessar os logs JFR acessando a linha de comando ou terminal e digitando alguns comandos.
Mas e se você não tiver acesso direto à linha de comando ou terminal no sistema onde a JVM está sendo executada, como quando a JVM está sendo executada em um contêiner?
Felizmente, você pode obter logs JFR sem muita configuração usando o conector Java Management Extension (JMX) da JVM e um utilitário para criação de perfil e análise de aplicativos baseados em JVM. Você precisará ter conhecimento prático de JVMs, JFR e logs JFR para acompanhar este tutorial.
Configure JMX em sua JVM
Antes de poder acessar sua JVM fora da linha de comando ou do terminal, você deve configurar sua JVM para ser detectável e acessível por meio de conexões remotas. Você pode fazer isso simplesmente ativando o conector JMX da JVM. Configure seu aplicativo Java com os seguintes parâmetros de VM:
-Dcom.sun.management.jmxremote
: Ativa a conectividade JMX/JMXRMI (Java Management Extensions Remote Management Interface).-Dcom.sun.management.jmxremote.host=<IP/Hostname>
: Define o endereço da conexão JMX. Use um endereço IP externo ou nome de host do computador ou contêiner onde o programa Java está sendo executado.-Dcom.sun.management.jmxremote.port=<port>
: Configure a porta TCP para a conexão JMX.-Djava.rmi.server.hostname=<IP/hostname>
: Configura o endereço para a conexão JMXRMI. Use o mesmo IP/nome de host usado para a conexão JMX.-Dcom.sun.management.jmxremote.rmi.port=<port>
: Configura a porta TCP para a conexão JMXRMI. Use a mesma porta TCP usada para a conexão JMX.-Dcom.sun.management.jmxremote.local.only=false
: Se você estiver se conectando à JVM a partir de uma máquina diferente, será necessário desvincular as portas do host local.
Além disso, você pode querer ativar a autenticação JMX/SSL usando:
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=true
Por exemplo:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.host=192.168.0.166
-Dcom.sun.management.jmxremote.port=7091
-Djava.rmi.server.hostname=192.168.0.166
-Dcom.sun.management.jmxremote.rmi.port=7091
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Conecte-se a uma JVM remota com Azul Mission Control
Para começar, você precisará de um utilitário para criação de perfil e análise de aplicativos baseados em JVM. Para fins de demonstração, usarei o Azul Mission Control, que pode ser baixado gratuitamente. Se você não possui o Azul Mission Control, vá para a página de download do Azul Mission Control.
Outros utilitários semelhantes incluem Oracle JDK Mission Control, VisualVM, JProfiler, YourKit Java Profiler, AppDynamics for Java, Dynatrace, New Relic APM, Glowroot e Java Flight Recorder (JFR).
No Controle da Missão Azul, vá para o Navegador JVM e clique no Adicionar conexão JVM botão para criar uma nova conexão JVM personalizada.
Especifique o nome do host/endereço IP do sistema remoto e o número da porta JMX.
Se a autenticação JMX estiver habilitada, insira Usuário e Senha.
Clique Conexão de teste para garantir que sua JVM remota esteja acessível e clique em Terminar.
Sua JVM remota agora aparece no navegador JVM.
Dependendo da configuração da rede e do contêiner, pode ser necessário configurar o encaminhamento de porta. Entre em contato com o administrador da sua rede se precisar de ajuda com o encaminhamento de porta.
Grave um JFR de sua JVM remota
Agora que você está conectado remotamente à sua JVM, é hora de fazer uma gravação JFR.
No Azul Mission Control, vá para o navegador JDK, clique com o botão direito na conexão JVM remota e selecione Iniciar gravação de voo.
Selecione suas opções e intervalos de tempo preferidos (gravação em tempo fixo ou gravação contínua) com base no tamanho e/ou idade do registro JFR e clique em Terminar.
Sua gravação JFR remota começou. Você está quase lá!
Verifique o andamento da gravação expandindo a conexão JVM remota no navegador JVM.
Assim que a gravação terminar, seu log JFR será aberto automaticamente no Azul Mission Control. Agora você pode verificar o Contorno para analisar mais detalhadamente o portfólio de desempenho da sua JVM.
A postagem Como registrar remotamente logs Java de contêineres apareceu pela primeira vez em The New Stack.