Recomendações para responder a problemas de desempenho em direto
Aplica-se a esta recomendação da lista de verificação de Eficiência de Desempenho do Azure Well-Architected Framework:
PE:11 | Responder a problemas de desempenho em direto. Planeie como resolver problemas de desempenho ao incorporar linhas claras de comunicação e responsabilidades. Quando ocorrer uma situação problemática, utilize o que aprende para identificar medidas preventivas e incorporá-las na sua carga de trabalho. Implemente métodos para voltar às operações normais mais rapidamente quando ocorrem situações semelhantes. |
---|
Este guia descreve as melhores práticas para responder a problemas de desempenho em direto. Os problemas de desempenho em direto referem-se a desafios e estrangulamentos em tempo real que podem dificultar o funcionamento ideal de uma carga de trabalho. Resolver estes problemas de imediato não só facilita a deteção e retificação imediatas de soluços de desempenho, como também garante que a carga de trabalho cumpre consistentemente os seus testes de referência de desempenho. A não resolução das mesmas pode levar a complicações, incluindo abrandamentos, falhas e falta de resposta do sistema e degradar a experiência do utilizador. Também podem impedir que os utilizadores completem as suas tarefas de forma eficiente e, por sua vez, manchar a reputação da organização.
Definições
Termo | Definição |
---|---|
Correlação de dados | Alinhar registos, métricas e eventos de várias partes da carga de trabalho para identificar as causas subjacentes. |
Análise da origem do problema | Um processo para identificar os fatores subjacentes que são responsáveis por um problema. |
Autorrecuperação | A capacidade de reparar automaticamente problemas sem intervenção humana. |
Auto-prevenção | Implementações numa carga de trabalho para evitar potenciais problemas e falhas. |
Principais estratégias de conceção
Quando se deparar com um problema de desempenho em direto, tem de estar preparado com os dados certos e um plano para responder ao problema. Este plano deve incluir linhas claras de comunicação e responsabilidades. O objetivo principal é implementar soluções que facilitem o regresso rápido às operações regulares e forneçam informações sobre o incidente. Integrar medidas preventivas no fluxo de trabalho é uma estratégia fundamental. O objetivo é impedir que o mesmo problema volte a acontecer ou diminuir os seus efeitos no desempenho se não for evitável.
Preparar-se para problemas
A resposta ideal para problemas de desempenho do site em direto é precisa e rápida. A precisão e a velocidade na remediação do desempenho requerem preparação. Para responder eficazmente a problemas de desempenho em direto, é fundamental monitorizar as principais métricas de desempenho, identificar a causa principal dos problemas e implementar soluções ou otimizações adequadas. Para seguir estes passos, poderá ter de analisar os registos de cargas de trabalho, realizar testes de desempenho, otimizar código ou configurações e dimensionar recursos. Os exemplos seguintes descrevem algumas áreas críticas de preparação:
Ter diagramas de arquitetura precisos. Os diagramas de arquitetura devem incluir todos os componentes e mostrar como interagem. A representação visual pode ajudar a identificar estrangulamentos e pontos únicos de falha que podem levar à degradação ou indisponibilidade do desempenho. Idealmente, pode detetar e remover estes problemas antes de estes causarem problemas, mas ter um diagrama atualizado pode ajudá-lo a identificar problemas em momentos de stress elevado.
Verifique o acesso aos dados. Os dados e os registos dos processos de monitorização são fundamentais para responder a problemas de desempenho em tempo real e realizar análises da causa raiz. No entanto, é importante manter a integridade e confidencialidade dos dados. Responder a problemas de desempenho do site em direto requer frequentemente acesso a dados subjacentes que podem não estar normalmente acessíveis. Tem de garantir que o pessoal tem acesso aos dados de que precisa quando surgem problemas. Mas só deve conceder acesso com limite de tempo e menos privilégios e deve limitar esse acesso ao pessoal autorizado.
Definir alertas automáticos. Os alertas podem ajudá-lo a identificar e resolver problemas assim que ocorrem. Os alertas devem gerar notificações quando o desempenho da carga de trabalho se desvia das linhas de base de desempenho. Ao longo do tempo, deve ajustar as configurações de alertas para evitar gerar demasiadas ou poucas notificações. As soluções de monitorização que utiliza precisam de recolher dados suficientes para gerar alertas. Estes alertas devem ser alinhados com destinos de desempenho e linhas de base estabelecidas. Deve evitar gerar alertas sobre problemas relevantes para os seus objetivos. Exemplos de alertas incluem degradaçãos na utilização da CPU, memória, tempos de resposta e desempenho da base de dados.
Criar um plano de triagem
A criação de um plano de triagem envolve a criação de uma abordagem estruturada para identificar, escalar, analisar, priorizar e comunicar problemas de desempenho do site em direto. Um plano de triagem é uma estratégia para responder a problemas de desempenho em direto. Garante que as interrupções de desempenho são resolvidas de forma rápida e eficaz, com funções e procedimentos claros. A maioria dos problemas de desempenho não merece protocolos de recuperação após desastre, mas podem afetar a funcionalidade da carga de trabalho o suficiente para exigir o planeamento da triagem. Um plano de triagem bem documentado garante que todos os membros da equipa estão alinhados e podem agir rapidamente, minimizando o impacto nos utilizadores e nas cargas de trabalho. Um plano de triagem deve incluir os seguintes componentes:
Identificação e monitorização: implemente um sistema para identificar e monitorizar problemas de desempenho em tempo real. Deve ter uma lista das informações de contacto de pessoas capazes de tomar decisões ou escalar problemas para níveis mais elevados. O plano também deve identificar funções e responsabilidades. Tem de documentar as contas que obtêm acesso a informações protegidas e durante quanto tempo.
Processo de escalamento: defina um processo de escalamento claro para garantir que os problemas de desempenho são escalados para as equipas ou indivíduos adequados em tempo útil. A definição do processo deve incluir informações de contacto e diretrizes para a escalada de problemas.
Análise da causa: desenvolva um processo para realizar uma análise da causa raiz para identificar a causa subjacente de cada problema de desempenho. O processo deve envolver a análise de registos e métricas de desempenho e a realização de testes de diagnóstico para identificar a origem de cada problema.
Atribuição de prioridades: estabeleça uma arquitetura de atribuição de prioridades para determinar a gravidade dos problemas de desempenho e priorize-os com base no seu efeito na carga de trabalho e nos utilizadores.
Comunicação: crie um plano de comunicação para manter os intervenientes informados sobre o estado dos problemas de desempenho e o progresso da resolução. Considere atualizações regulares, relatórios de estado e canais de comunicação claros.
Documentação: documente o plano de triagem, incluindo todos os passos, processos e melhores práticas. Esta documentação deve ser facilmente acessível aos membros da equipa envolvidos na resposta a problemas de desempenho.
Desenvolver métodos para identificar e resolver problemas
A resolução de problemas de desempenho em direto envolve identificar e resolver quaisquer fatores que possam causar degradação do desempenho ou ineficiências numa carga de trabalho dinâmica. Os dados que recolhe durante a monitorização são inestimáveis quando investiga e resolve incidentes relacionados com o desempenho. Estes dados fornecem um registo histórico das métricas de desempenho. Quando tiver dados de monitorização disponíveis, pode analisar as causas e identificar fatores que contribuem. Deve utilizar todos os dados de monitorização relevantes para compreender e corrigir cada problema de desempenho.
Utilizar a análise da causa raiz
A análise da causa raiz requer testes de hipóteses. Depois de rever os dados de monitorização, deve listar potenciais causas do problema de desempenho e testá-los. Para realizar uma análise da causa principal num problema de desempenho em direto, pode seguir estes passos:
Recolher informações. Recolha o máximo de informações possível sobre o problema de desempenho. Os exemplos incluem mensagens de erro, registos, métricas de desempenho e quaisquer outros dados relevantes.
Defina o problema. Defina claramente o problema ao identificar os sintomas e o efeito que o problema tem na carga de trabalho ou nos utilizadores.
Investigar potenciais causas. Reduza o âmbito da análise ao identificar o componente específico ou a área da carga de trabalho onde está a ocorrer o problema de desempenho. Identifique as potenciais causas do problema de desempenho com base nas informações recolhidas. Este processo pode envolver a análise de código, definições de configuração, infraestrutura ou dependências externas.
Correlacionar dados. Aprofunde os dados recolhidos para identificar padrões, anomalias ou correlações que possam contribuir para o problema de desempenho. A correlação de dados é fundamental para identificar problemas e causas de desempenho. Pode envolver a revisão de registos, a análise de métricas de desempenho e a realização de testes.
Testar hipóteses. Formular hipóteses com base nas potenciais causas que identificar. Realize testes para validar ou refutar as suas hipóteses. Deve utilizar um ambiente de teste para ver se consegue replicar o erro.
Implementar soluções. Depois de identificar uma causa raiz, desenvolva e implemente soluções para resolver o problema de desempenho.
Monitorizar e validar. Depois de implementar as soluções, monitorize continuamente a carga de trabalho para garantir que o problema de desempenho é resolvido. Valide a eficácia das soluções ao monitorizar as métricas de desempenho e o feedback dos utilizadores.
Desvantagem: os passos de uma análise da causa raiz, como identificar possíveis causas, testar hipóteses e documentar a análise, podem ser demorados. Para correlacionar problemas de desempenho, também tem de recolher e armazenar dados. O tempo e a infraestrutura necessários podem adicionar trabalho significativo às equipas de operações e ao custo da carga de trabalho.
Risco: se efetuar uma análise da causa raiz sem proteções de segurança adequadas, existe o risco de expor informações confidenciais quando fornece acesso a registos e dados.
Contactar o suporte do fornecedor
O suporte do fornecedor pode ser um passo essencial quando lida com problemas de desempenho contínuos. Os fornecedores têm conhecimentos, ferramentas, recursos e experiência para ajudar a corrigir problemas com os seus produtos. O contrato de suporte com o seu fornecedor determina o nível de suporte fornecido por um fornecedor.
Muitas vezes, é melhor trabalhar em paralelo com os fornecedores. Deve criar um plano para que alguns membros da equipa colaborem com o suporte do fornecedor, enquanto outros continuam a fazer a triagem e a corrigir problemas de desempenho. As equipas de suporte do fornecedor também podem fazer sugestões sobre como ajudar a prevenir e automatizar respostas a eventos semelhantes.
Tem de ter as informações de contacto disponíveis para o seu pessoal. Os fornecedores também podem precisar de acesso aos dados para se envolverem eficazmente na resolução de problemas. Tem de ter um plano para autenticar e autorizar contas externas ou convidadas a aceder aos dados de monitorização.
Aprender com os resultados
Depois de corrigir um problema de desempenho do site em direto, tem de rever o que aconteceu. O objetivo é aprender com problemas de desempenho e não apenas identificar problemas. A melhor forma de aprender é através da documentação. Documente cada problema e explique como corrigi-lo. Se um fornecedor tiver ajudado, trabalhe com o fornecedor para melhorar a sua documentação, preparar a sua equipa e modificar a carga de trabalho em conformidade.
A documentação deve indicar como evitar que cada problema volte a ocorrer. Uma forma de evitar problemas recorrentes é introduzir a automatização para responder a problemas comuns. A automatização deve adicionar qualidades de autorrecuperação e auto-prevenção a uma carga de trabalho. Juntamente com a automatização, pode criar alertas refinados que o ajudam a responder antecipadamente aos indicadores de problemas de desempenho.
Facilitação do Azure
Desenvolver métodos para identificar e resolver problemas: o Azure fornece várias ferramentas para o ajudar a responder a problemas de desempenho em direto:
O Azure Monitor é uma solução de monitorização abrangente que fornece informações sobre o desempenho e o estado de funcionamento das suas aplicações e infraestrutura. A monitorização oferece funcionalidades como métricas, registos, alertas e dashboards para o ajudar a monitorizar e diagnosticar problemas de desempenho.
O Application Insights é um serviço de gestão de desempenho de aplicações (APM) que ajuda os programadores e profissionais do DevOps a monitorizar aplicações em direto. Deteta automaticamente anomalias de desempenho, recolhe eventos e registos ao nível da aplicação e fornece ferramentas de análise para diagnosticar problemas.
O Log Analytics é um serviço que recolhe e analisa dados de registo de várias origens, incluindo aplicações, máquinas virtuais e recursos do Azure. Quando utiliza o Log Analytics, pode consultar e analisar dados de registo para obter informações sobre o desempenho e o comportamento das suas aplicações.
Ligações relacionadas
Lista de verificação de Eficiência de Desempenho
Veja o conjunto completo de recomendações.