Introdução à caixa de entrada de riscos de desempenho
visualização
Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!
Atualmente, esse recurso é fornecido como parte de um programa de visualização de acordo com nossas políticas de pré-lançamento.
Performance Risks inbox adiciona uma camada inteligente sobre os dados de telemetria do New Relic, analisando continuamente seus aplicativos em busca de problemas de desempenho e revelando-os antes que evoluam para incidentes de produção. Ele usa analisadores integrados para detectar automaticamente anomalias de desempenho usando limites configuráveis, e agrupa problemas semelhantes para que você possa se concentrar em resolver os problemas mais impactantes primeiro.
Cobertura e escopo
Performance Risks inbox fornece monitoramento abrangente em toda a sua stack de aplicativos:
Serviços APM
Aplicativo Browser
Operações de banco de dados
Principais benefícios
Detecção proativa de problemas: identificar problemas de desempenho antes que se transformem em incidentes de produção
Tempo médio de resolução (MTTR) reduzido: o agrupamento inteligente ajuda você a se concentrar primeiro nos problemas mais críticos
Produtividade de engenharia aprimorada: passe menos tempo na investigação manual de desempenho e mais tempo em inovação
Melhor confiabilidade do aplicativo: resolva os riscos de desempenho antes que impactem seus usuários finais
Como funciona a caixa de entrada de riscos de desempenho?
Performance Risks inbox utiliza os seguintes analisadores para detectar os problemas de desempenho mais comuns:
Consultas lentas ao banco de dados frequentemente são a causa raiz de problemas de desempenho do aplicativo e podem levar a problemas em cascata em toda a sua stack. O analisador identifica consultas ao banco de dados que estão demorando mais do que o esperado para serem executadas, o que pode impactar significativamente os tempos de resposta do aplicativo e a experiência do usuário.
O que isso pode ajudar a detectar:
Consultas SQL excedendo os limites de desempenho
Operações de banco de dados que podem estar causando gargalos no aplicativo
Consultas com degradação de desempenho ao longo do tempo
Consultas N+1 podem aumentar exponencialmente a carga do banco de dados e o tempo de resposta à medida que seus dados crescem, tornando isso um problema crítico de desempenho a ser resolvido o quanto antes. Este analisador detecta o antipadrão comum de consulta N + 1, em que um aplicativo executa N consultas em vez de uma consulta. Isso geralmente ocorre em frameworks ORM ao carregar dados relacionados.
O que isso pode ajudar a detectar:
Consultas repetidas ao banco de dados em loops
Padrões ineficientes de carregamento de dados
Sequências de consultas geradas por ORM que poderiam ser otimizadas
Operações excessivas de banco de dados podem sobrecarregar seus servidores de banco de dados e criar gargalos de desempenho que afetam todo o seu aplicativo. Este analisador monitora aplicativos que fazem um número anormalmente alto de conexões de banco de dados ou consultas dentro de um determinado período, indicando possíveis ineficiências nos padrões de acesso a dados.
O que isso pode ajudar a detectar:
Volumes anormalmente altos de consultas ao banco de dados
Padrões ineficientes de processamento em lote
Operações sequenciais de banco de dados frequentemente representam oportunidades de otimização perdidas que podem melhorar significativamente o desempenho do aplicativo com mudanças relativamente simples. Este analisador ajuda a identificar situações em que as operações de banco de dados estão sendo executadas sequencialmente quando poderiam ser otimizadas por meio de paralelização ou processamento em lote.
O que isso pode ajudar a detectar:
Operações sequenciais de banco de dados que poderiam ser paralelizadas
Oportunidades perdidas para processamento em lote
Padrões ineficientes de acesso a dados
Grandes cargas HTTP podem desacelerar as transferências de rede, aumentar os custos de largura de banda e impactar negativamente a experiência do usuário, especialmente em dispositivos móveis ou conexões de rede mais lentas. Este analisador monitora requests e respostas HTTP em busca de cargas que excedem os limites de tamanho ideal.
O que isso pode ajudar a detectar:
Requests ou respostas HTTP com cargas grandes
Endpoints de API retornando dados excessivos
Padrões ineficientes de serialização ou transferência de dados
Respostas HTTP lentas podem degradar a capacidade de resposta do aplicativo, reduzir as taxas de transferência e frustrar os usuários que aguardam dados; particularmente em fluxos de trabalho sensíveis à latência ou regiões com maior sobrecarga de rede. Este analisador monitora transações HTTP em busca de tempos de resposta que excedam os limites ideais de latência, o que pode sinalizar problemas de desempenho mais profundos em toda a sua stack.
O que isso pode ajudar a detectar:
Respostas HTTP com alta latência
Endpoints de API com tempos de resposta consistentemente lentos
Processamento de backend ineficiente, padrões de consulta ou dependências de terceiros contribuindo para a lentidão
Casos de uso
Performance Risks inbox ajuda você a lidar com duas áreas principais: reduzir os custos de infraestrutura e melhorar o desempenho do aplicativo. A seguir estão exemplos de casos de uso que ilustram como Performance Risks inbox pode abordar essas áreas.
Reduzir custos de infraestrutura
Padrões de código ineficientes resultam em consumo desnecessário de recursos que impacta diretamente os custos de infraestrutura:
N+1 consultas: em vez de executar uma única consulta otimizada, um aplicativo executa uma consulta para recuperar uma lista e, em seguida, uma consulta separada para cada item dessa lista. Em escala, um usuário aguardando a conclusão de 100 consultas ao banco de dados — quando uma única consulta poderia retornar o mesmo resultado — aumenta desnecessariamente tanto a carga do banco de dados quanto o uso de recursos.
Grandes cargas HTTP: quando um aplicativo chama uma API grande e envia a resposta completa a cada interação do usuário, os provedores de cloud cobram pela largura de banda e transferência de dados de cada chamada, mesmo quando esses dados não eram necessários para a interação.
Melhorar o desempenho do aplicativo
Problemas de desempenho afetam diretamente a velocidade e a capacidade de resposta do aplicativo:
Consultas sequenciais ao banco de dados: quando um usuário faz requests de duas informações não relacionadas, o aplicativo pode buscar a primeira e esperar que ela seja concluída antes de buscar a segunda — mesmo que ambas as consultas sejam independentes e possam ser executadas ao mesmo tempo. O usuário espera mais do que o necessário por um resultado que poderia ter sido retornado muito mais rápido.
Respostas HTTP lentas: quando um usuário interage com o aplicativo e vê um estado de carregamento por um período prolongado, geralmente é porque uma API subjacente não tem um bom desempenho. O usuário é forçado a esperar por uma resposta lenta antes que o resultado apareça.