Objetivos
Ao final deste tutorial, você irá:
- Entenda a transação e o rastreamento
- Identifique qualquer transação problemática
- Revise e otimize segmentos problemáticos em seu aplicativo
O quê e por quê da transação
A atividade dos clientes em seu aplicativo web cria rotas por meio de seu código que começam quando um aplicativo recebe uma solicitação web e terminam quando uma resposta retorna. Essas rotas são transações, ou uma unidade de trabalho composta por chamadas de função e chamadas de método.
Pense em um ponto crítico de negócios, como um cliente enviando o pagamento de uma compra. Se um cliente relatar que seu pagamento não foi processado ou foi processado após um atraso significativo, você ficará sem saber a causa dessa falha. Uma API causou a falha ou foi uma correção de bug recente implantada naquele dia?
Observe a transação para melhorar o desempenho
Nossa interface de transação ajuda você a diagnosticar a origem de um problema para que você possa melhorar o desempenho de transações específicas. As etapas a seguir orientam você na identificação de transações lentas e na melhoria do desempenho de seus aplicativos:
Navegue até a interface de transação: Vá para one.newrelic.com > (select an app) > Monitor > Transactions
Encontre sua transação lenta:
Classifique sua transação por mais demorada no topo da página.
Dê uma olhada no gráfico
Top 20 transactions
. Esta lista representa a melhor oportunidade para reduzir a carga do seu aplicativo. Economizar tempo com essas transações frequentemente chamadas reduzirá o espaço ocupado pelo seu aplicativo, pois são solicitações de alto volume. Observe as poucas transações principais neste gráfico.
Classifique sua transação pela resposta média mais lenta no topo da página.
Dê uma olhada no gráfico
Top 20 transactions
novamente. Este gráfico agora mostra o tempo médio por solicitação do volume total de uma solicitação específica. Observe as poucas transações principais neste gráfico.
Melhore seu desempenho
Você identificou quais transações podem causar atrasos no seu código, mas saber sobre um problema não é o mesmo que encontrar uma solução para seus clientes. Com a transação identificada acima, você pode encontrar um detalhamento de onde em seu código essa rota específica passa mais tempo.
Para cada uma de suas transações, clique no nome delas no gráfico das 20 principais e faça o seguinte:
- Verifique o gráfico de detalhamento do segmento. Isso mostra onde sua solicitação passa a maior parte do tempo. Se, em média, uma rota travar em uma parte do seu código, concentre-se na otimização nesse segmento.
- Verifique a tabela de trace da transação e reúna seu trace mais lento. Embora seus rastreamentos mais lentos sejam atípicos, eles são bons indicadores de quais métodos, banco de dados ou chamadas HTTP têm o maior impacto no desempenho do seu aplicativo.
Agora você deve ter uma lista de métodos lentos, solicitações ou outras partes do seu código que não apresentam bom desempenho. Agora vem a parte divertida: realmente codificar. Teste uma correção em seu código e prossiga para a próxima seção para verificar seu trabalho.
Verifique seu trabalho
Você examinou o problema e encontrou uma solução potencial. Envie sua correção para o desenvolvimento e, em seguida, execute um teste de carga típico para ter uma ideia de como seu aplicativo será executado em produção.
Ao monitor seu tempo de resposta, fique de olho na transação do seu aplicativo.
- Sua transação está normal? Você Terminou!
- Eles melhoraram? Use o que você aprendeu para descobrir por que eles melhoraram além do normal.
- Você ainda está vendo um ritmo de resposta lento? Talvez haja um problema no banco de dados ou talvez seus serviços externos estejam lentos: