Recomendações para a recolha de dados de desempenho
Aplica-se a esta Power Platform recomendação de lista de verificação de eficiência de desempenho bem arquitetada:
PE:04 | Recolher dados de desempenho. Os componentes e fluxos de carga de trabalho devem fornecer métricas e registos automáticos, contínuos e significativos. Recolha dados em diferentes níveis da carga de trabalho, como a aplicação, plataforma, dados e níveis do sistema operativo. |
---|
A recolha de dados de desempenho é o processo de recolha de métricas e registos que fornecem informações sobre o desempenho de uma carga de trabalho. Estes dados incluem valores numéricos, conhecidos como métricas. As métricas descrevem o estado do sistema num determinado momento. Os dados de desempenho também incluem registos que contêm diferentes tipos de dados organizados em registos.
Ao recolher dados de desempenho, pode monitorizar e analisar o desempenho de uma carga de trabalho. Pode utilizar estas informações para identificar estrangulamentos de desempenho, resolver problemas e tomar decisões baseadas em dados para melhorar a eficácia do desempenho global da carga de trabalho.
Sem informações orientadas por dados, poderá não estar ciente dos problemas de desempenho subjacentes ou das oportunidades de otimização. Os resultados potenciais incluem tempos de resposta mais lentos, débito diminuído e, em última análise, uma experiência de utilizador abaixo do ideal. Além disso, a falta de dados de desempenho dificulta o diagnóstico e a resolução de problemas atempadamente, o que leva a períodos de inatividade prolongados e a uma produtividade reduzida.
Definições
Termo | Definição |
---|---|
Registos de atividades | Registos que monitorizam operações de gestão em recursos, como a eliminação de um recurso. |
Registos de aplicações | Registos que monitorizam informações sobre eventos da aplicação, erros e outras atividades, tais como inícios de sessão e falhas de ligação à base de dados. |
Ferramenta de monitorização de desempenho de aplicações (APM) | Uma ferramenta que monitoriza e reporta o desempenho de uma aplicação. |
Instrumentação de código | A captura direta ou indireta de métricas de desempenho da perspetiva do código da aplicação. As métricas capturadas incluem métricas de fluxo, utilização de recursos e métricas específicas da linguagem ou do runtime. |
Rastreio distribuído | Recolha e correlação de métricas entre componentes de carga de trabalho distribuída. |
Sink de métricas | Um destino de armazenamento para as suas métricas que correlaciona dados de séries cronológicas para análise. |
Registos da plataforma | Dados de diagnóstico e auditoria que incluem registos de recursos, registos de atividade e registos de auditoria. |
Métricas da plataforma | Valores numéricos que registam o desempenho da carga de trabalho num determinado momento. |
Registos de recursos | Dados gerados por um sistema. Fornece informações sobre o estado do sistema. |
Registo estruturado | Definir um formato significativo para registar mensagens, normalmente como pares chave-valor. |
Principais estratégias de design
A otimização de desempenho requer dados para medir o desempenho atual de uma carga de trabalho ou de um fluxo em relação às suas metas de desempenho. Precisa de recolher a quantidade e diversidade de dados certas para medir o desempenho do código e da infraestrutura em relação aos objetivos de desempenho. Certifique-se de que cada componente e fluxo dentro da carga de trabalho gera automaticamente métricas e registos contínuos e significativos. Precisa de obter estes dados de diversos níveis, como da aplicação, da plataforma, do armazenamento e do sistema operativo. A recolha abrangente de dados de desempenho permite uma compreensão holística do desempenho, permitindo a identificação precisa de ineficiências e formas de melhoria.
Centralize os dados de desempenho
Centralizar métricas e registos de desempenho é o processo de recolher métricas e registos de desempenho de várias origens e armazená-los numa localização central. Crie um sink de métricas central e um sink de registos central. Esta centralização permite fácil acesso, análise e monitorização de métricas e registos de desempenho entre diferentes sistemas e componentes. Ao centralizar métricas e registos, ganha visibilidade sobre o desempenho da sua carga de trabalho. Escolha uma plataforma ou ferramenta adequada que possa agregar e armazenar métricas e registos de desempenho da carga de trabalho.
Troca: entenda o custo da recolha de métricas e de registos. Em geral, quanto mais métricas e registos recolher, maior será o custo.
Segmentar dados de desempenho
A segmentação dos dados de desempenho envolve a organização e a categorização de métricas e registos com base na origem, finalidade ou ambiente. Por exemplo, deve separar os dados de produção dos dados de não produção ou distinguir entre objetivos de desempenho e métricas de negócio. A segmentação de dados ajuda a otimizar ambientes específicos, facilita a resolução de problemas e limita imprecisões na monitorização do desempenho. Ao manter uma distinção clara entre diferentes tipos de dados, pode capturar, analisar e responder às métricas relevantes de forma mais eficiente e alinhar melhor o estado da carga de trabalho com os objetivos da carga de trabalho. Para segmentar dados de desempenho, considere as seguintes recomendações:
Mantenha os dados de produção e os dados de não produção separados. Ao separar dados por ambiente, pode assegurar a monitorização focada e a otimização de cada ambiente. Em ambientes de produção, pode identificar e abordar melhor problemas de desempenho que afetam diretamente os utilizadores e as operações de negócio. Em ambientes de não produção, a separação de dados facilita a resolução efetiva de problemas e o ajuste durante a fase de testes, antes da implementação para produção.
Use um conjunto de dados em cada ambiente. Não utilize um conjunto de dados para objetivos de desempenho e outro conjunto de dados para alertas relacionados com os objetivos de desempenho. A utilização de diferentes conjuntos de dados conduz a alertas imprecisos que comprometem a eficácia da monitorização do desempenho.
Separe as metas de desempenho e as métricas de negócios. As equipas de operações e desenvolvimento utilizam objetivos de desempenho para monitorizar o estado de funcionamento da carga de trabalho e atingir os objetivos do negócio. As métricas de negócio estão relacionadas com objetivos de negócio ou relatórios de clientes. Capture métricas de negócios em um fluxo de dados separado, mesmo que os dados se sobreponham diretamente. Esta separação dá-lhe flexibilidade para capturar os dados certos e analisar os dados de forma independente.
Definir políticas de retenção
As políticas de retenção ditam por quanto tempo os dados de desempenho devem ser mantidos. O estabelecimento dessas políticas ajuda a gerenciar o armazenamento com eficiência e garante que apenas os dados necessários estejam acessíveis para análise. Tais políticas apoiam um melhor desempenho e atendem aos padrões de conformidade. Deverá configurar políticas de retenção para os dados de registo e de métricas para permitir a resolução de problemas e monitorização eficazes em todos os ambientes. Por exemplo, os registos e as métricas podem ter de ser mantidos por mais tempo num ambiente de produção do que no ambiente de teste. O período de retenção deve corresponder aos requisitos e regulamentos de conformidade da sua organização. Decida por quanto tempo os dados devem ser retidos para fins de análise e auditoria. Arquive os dados de que não necessita para análise imediata.
Recolher dados de desempenho
A recolha de dados envolve a monitorização e a análise das métricas de desempenho de uma carga de trabalho, tal como o débito, a latência e os tempos de conclusão, recolhidos principalmente através de instrumentação de código. Os dados de desempenho da carga de trabalho fornecem informações valiosas sobre o estado de funcionamento e o desempenho de uma aplicação. Ao monitorizar e analisar os dados de desempenho, pode identificar e resolver problemas, otimizar o desempenho e tomar decisões informadas para a sua carga de trabalho.
Instrumentar código
Instrumentação refere-se ao processo de incorporar fragmentos de código ou ações no código das suas cargas de trabalho; por exemplo, criar eventos de rastreio personalizados na sua aplicação de tela. O objetivo da instrumentação é capturar dados de desempenho enquanto a carga de trabalho é executada. É essencial reunir métricas que destaquem as operações críticas da carga de trabalho. Concentre-se em métricas, como o débito, a latência e o tempo de conclusão. É importante diferenciar as operações relacionadas com o negócio das outras operações. Para dados relacionados com operações de negócio, certifique-se de que os metadados estão estruturados de forma a permitir monitorização e armazenamento distintos. A instrumentação de código oferece os seguintes benefícios:
Identificação de gargalos de desempenho: Ao acompanhar métricas como o tempo decorrido, você pode identificar gargalos e otimizar o código de acordo.
Avaliando o comportamento do sistema sob uma carga: Você pode ver como a carga de trabalho funciona em diferentes cenários de estresse. Estes dados podem ajudá-lo a identificar problemas relacionados com escalabilidade, simultaneidade e utilização de recursos.
Rastreando aintegridade e a disponibilidade da carga de trabalho: Como os principais indicadores de desempenho são monitorados em tempo real, você pode receber alertas sobre possíveis problemas que afetam o desempenho e a disponibilidade do aplicativo.
Melhorar a experiência do utente: Você pode obter informações sobre como os usuários interagem com a carga de trabalho. Utilize estas informações para otimizar a experiência dos utilizadores e identificar áreas de melhoria.
Planejar a capacidade e alocar recursos: Os dados de desempenho que a instrumentação reúne podem fornecer informações valiosas sobre os requisitos de recursos de uma carga de trabalho. Estas informações podem informar as suas decisões sobre o planeamento de capacidade e alocação de recursos.
Ao instrumentar o código para monitorização de desempenho, considere as seguintes estratégias:
Usar ferramentas APM: as ferramentas de monitoramento de desempenho de aplicativos (APM) coletam e analisam dados de desempenho, incluindo métricas, rastreamentos e logs. As ferramentas APM oferecem recursos como instrumentação em nível de código, rastreamento de transações e criação de perfil de desempenho.
Instrumentação personalizada: os desenvolvedores podem adicionar código personalizado para coletar métricas de desempenho exclusivas para seu aplicativo e carga de trabalho. A instrumentação personalizada pode medir tempos de execução, controlar a utilização de recursos ou capturar eventos específicos.
Capture tempos de transação. A captura de tempos de transação está relacionada com a medição de tempos de ponto a ponto para funções técnicas essenciais como parte da monitorização de desempenho. As métricas ao nível da aplicação devem incluir tempos de transação de ponto a ponto. Estes tempos de transação devem abranger funções técnicas essenciais, como consultas de base de dados, tempos de resposta para chamadas à API externas e taxas de falha dos passos de processamento.
Utilize padrões de telemetria. Considere a utilização de bibliotecas e ferramentas de instrumentação da ferramenta APM criadas em torno de um padrão de telemetria, como a OpenTelemetry.
Recolher dados de desempenho de recursos
Através da recolha de dados de desempenho de recursos, pode obter informações sobre o estado de funcionamento e o comportamento da sua carga de trabalho. Os dados de desempenho dos recursos fornecem informações sobre a utilização de recursos, que é fundamental para o planeamento da capacidade. Estes dados também fornecem informações sobre o estado de funcionamento de uma carga de trabalho e podem ajudá-lo a detetar e a resolver problemas. Considere as seguintes recomendações:
Recolher métricas e registos para cada recurso. Cada serviço tem um conjunto de métricas exclusivas da funcionalidade do recurso. Estas métricas ajudam-no a compreender o estado de funcionamento e o desempenho do recurso.
Utilize ferramentas da plataforma. Inspire-se em soluções de monitorização incorporadas e integradas, como o Azure Monitor Insights. Estas ferramentas simplificam as operações de desempenho. Considere as ferramentas da plataforma quando selecionar uma plataforma e invista em ferramentas ou relatórios personalizados.
Monitorize o tráfego de rede. Monitorizar o tráfego de rede significa rastrear e analisar o fluxo e os padrões de dados à medida que se movem pelos caminhos da rede. Recolha análises de tráfego e monitorize o tráfego que atravessa os limites da sub-rede. O seu objetivo é analisar e otimizar o desempenho da rede.
Recolher dados da base de dados e armazenamento
Muitos sistemas de base de dados e de armazenamento fornecem as suas próprias ferramentas de monitorização. Estas ferramentas recolhem dados de desempenho específicos desses sistemas. Os sistemas de banco de dados e armazenamento geralmente geram logs que contêm eventos e indicadores relacionados ao desempenho. Colete dados de banco de dados e dados de desempenho de armazenamento para que você possa identificar gargalos, diagnosticar problemas e tomar decisões informadas para melhorar o desempenho geral e a confiabilidade de sua carga de trabalho. Considere recolher os seguintes tipos de dados de desempenho:
Taxa de transferência: a taxa de transferência mede a quantidade de dados lidos ou gravados no sistema de armazenamento durante um período de tempo. Os dados de débito indicam as capacidades da transferência de dados.
Latência: a latência mede a duração das operações de armazenamento. Os dados de latência indicam a capacidade de resposta do sistema de armazenamento.
IOPS (operações de E/S por segundo): dados sobre o número de operações de leitura ou gravação que o sistema de armazenamento pode executar em um segundo. Os dados de IOPS indicam a taxa de transferência e a capacidade de resposta do sistema de armazenamento.
Uso da capacidade: o uso da capacidade é a quantidade de capacidade de armazenamento usada e a quantidade disponível. Os dados de utilização da capacidade ajudam as organizações a planear necessidades futuras de armazenamento.
Recolher dados de desempenho de conectores
O tempo gasto à espera que as operações de serviços integrados sejam concluídas pode contribuir para o fraco desempenho geral de uma carga de trabalho. Se a sua carga de trabalho utilizar conectores para integrar serviços, considere medir o tempo gasto em cada operação do conector para avaliar o seu impacto e decidir se otimiza o design da carga de trabalho. Dependendo do serviço, pode utilizar o histórico de execuções ou a lógica personalizada para capturar o tempo gasto nas operações do conector.
Validar e analisar dados
Os seus dados de desempenho devem estar alinhados com as metas de desempenho. Os dados têm de representar o desempenho da carga de trabalho ou do fluxo de forma completa e precisa no que diz respeito aos objetivos de desempenho. Por exemplo, o tempo de resposta para um serviço Web tem um objetivo de desempenho de 500 milissegundos. Torne rotineira a análise dos dados, uma vez que avaliações frequentes permitem a deteção precoce e a mitigação de problemas de desempenho.
Criar alertas. É benéfico ter alertas que são acionáveis, permitindo a identificação imediata e a retificação de problemas de desempenho. Estes alertas devem indicar claramente o limiar de desempenho violado, o potencial efeito comercial e os componentes envolvidos. Comece por definir alertas comuns e recomendados. Ao longo do tempo, pode modificar estes critérios com base nas suas necessidades específicas. O objetivo principal destes alertas deve ser prever potenciais quedas de desempenho antes que se transformem em problemas significativos. Se não for possível definir um alerta para uma dependência externa, considere desenvolver um método para recolher medidas indiretas, como a duração de uma chamada de dependência.
Definir limites à recolha de dados. Determine e defina limites lógicos para o volume de dados que recolhe e a duração da retenção. Por vezes, a telemetria pode produzir quantidades de dados muito grandes. É essencial concentrar-se na captura apenas dos indicadores de desempenho mais vitais ou ter um sistema eficiente implementado para extrair informações significativas dos seus dados de desempenho.
Power Platform Facilitação
Coletando dados de desempenho do aplicativo: Application Insights é um recurso do Azure Monitor que ajuda você a monitorar o desempenho e a disponibilidade do seu aplicativo. Os dados são armazenados nos logs do Azure Monitor e Application Insights visualizados nos painéis Desempenho e Falhas . Os dados são exportados para o seu ambiente Application Insights no esquema padrão definido pelo Application Insights. Você pode exportar Dataverse e Power Automate exportar dados para Application Insights, conectar seus aplicativos Application Insights de tela e capturar dados de telemetria do seu Microsoft Copilot Studio copiloto para uso no Azure Application Insights.
O Application Insights permite-lhe escolher as vistas de dados de Servidor e Browser. Ao identificar as operações com duração mais longa, pode diagnosticar potenciais problemas.
Use recursos nativos da plataforma para analisar o desempenho:O Analytics in Copilot Studio fornece uma visão geral abrangente do desempenho do seu copiloto. Ele usa tecnologia de inteligência artificial (IA) para identificar quais tópicos estão a ter o maior impacto na taxa de escalada, taxa de abandono e taxa de resolução. Informações de desempenho para Power Apps analisar dados de usuários em tempo de execução e fornecer uma lista priorizada de recomendações para ajudar a melhorar o desempenho de aplicativos orientados por modelo.
Centralização, segmentação e retenção de dados de desempenho: Microsoft já reúne ampla telemetria em Dataverse Power Automate fluxos de nuvem e aplicativos orientados por modelos. Com a integração do Application Insights, um admin de ambiente ou de inquilino fornece a chave de instrumentação do Application Insights ao mesmo tempo que configura o processo de exportação de dados no centro de administração do Power Platform. Assim que a configuração estiver concluída, a telemetria que Microsoft reúne informações sobre seu ambiente será enviada para ele Application Insights . Quando utilizar a integração do Application Insights, receberá um conjunto de telemetria padronizado que segue o modelo de dados telemétricos do Application Insights. Além dessa integração, você também pode conectar aplicativos de tela e capturar dados de telemetria Application Insights do seu Microsoft Copilot Studio copiloto para uso no Azure Application Insights.
Coletando dados de desempenho de recursos do Azure:A maioria dos serviços do Azure gera logs e métricas de plataforma que fornecem informações de diagnóstico e auditoria. Ao ativar as definições de diagnóstico, pode especificar as métricas e os registos da plataforma a recolher e armazenar. Para fins de correlação, ative o diagnóstico para todos os serviços suportados e envie os registos para o mesmo destino que os registos da aplicação.
Coleta de dados de desempenho do banco de dados:Microsoft Dataverse integra-se com Application Insights. O fluxo de dados fornece atualmente dados de desempenho relacionados com chamadas de entrada à API do Dataverse, chamadas de execução de plug-ins do Dataverse e chamadas SDK do Dataverse. Para ser notificado de problemas, configure alertas com base em limiares de desempenho.
Validando e analisando dados de desempenho: No Azure Monitor, você pode usar os Logs do Azure Monitor para coletar, analisar e visualizar dados de log de seus aplicativos e sistemas. Ao agregar registos, pode efetuar consultas cruzadas de eventos e obter informações sobre o desempenho da sua aplicação. Para mais informações, consulte Cálculos de custo e opções de Registos do Azure Monitor** e Preços do Azure Monitor.
No Azure Monitor, pode definir regras de alerta para monitorizar métricas de desempenho específicas e acionar alertas com base em condições predefinidas. Por exemplo, pode criar uma regra de alerta para notificá-lo quando o tempo de resposta for superior a um limite especificado. Configure a regra de alerta para enviar notificações aos destinatários pretendidos.
Quando cria uma regra de alerta, pode definir os critérios que determinam quando uma alerta deve ser acionado. É possível definir limiares, métodos de agregação, janelas de tempo e a frequência da avaliação. Defina os critérios com base nos seus requisitos de monitorização do desempenho. Além de enviar notificações, pode especificar ações a tomar quando um alerta é acionado. As ações podem incluir enviar e-mails, chamar webhooks ou executar funções do Azure. Escolha as ações apropriadas para responder ao cenário de alerta específico.
Exemplos
- Monitorização empresarial com o Azure Monitor
- Criar eventos de rastreamento personalizados em aplicativos de tela
- Crie alertas personalizados para fluxos de nuvem
- Analise o desempenho e o uso do copiloto em Copilot Studio
Lista de verificação de eficiência de desempenho
Consulte o conjunto completo de recomendações.