Compartilhar via


Recomendações para coletar dados de desempenho

Aplica-se a esta recomendação da lista de verificação de eficiência de desempenho bem arquitetada: Power Platform

Educação Física:04 Coletar dados de desempenho. Os componentes e fluxos da carga de trabalho devem fornecer métricas e logs automáticos, contínuos e significativos. Colete dados em diferentes níveis da carga de trabalho, como aplicativos, plataformas, dados e níveis do sistema operacional.

A coleta de dados de desempenho é o processo de reunir métricas e logs que fornecem informações sobre o desempenho de uma carga de trabalho. Esses dados incluem valores numéricos, que são conhecidos como métricas. As métricas descrevem o estado do sistema em um determinado momento. Os dados de desempenho também incluem logs que contêm diferentes tipos de dados organizados em registros.

Ao coletar dados de desempenho, você pode monitorar e analisar o desempenho de uma carga de trabalho. Você pode usar essas informações para identificar gargalos de desempenho, solucionar problemas e tomar decisões com base em dados para melhorar a eficiência geral de desempenho da carga de trabalho.

Sem insights orientados por dados, talvez você não saiba dos problemas de desempenho subjacentes ou das oportunidades de otimização. Os resultados potenciais incluem tempos de resposta mais lentos, taxa de transferência reduzida e, por fim, uma experiência de usuário abaixo do ideal. Além disso, a falta de dados de desempenho dificulta o diagnóstico e a solução de problemas em tempo hábil, levando a um tempo de inatividade prolongado e à redução da produtividade.

Definições

Termo Definição
Logs de atividades Logs que rastreiam operações de gerenciamento em recursos, como a exclusão de um recurso.
Logs de aplicativo Logs que rastreiam informações sobre eventos do aplicativo, erros e outras atividades, como entradas e falhas de conexão com o banco de dados.
Ferramenta APM (Monitoramento de desempenho do aplicativo) Uma ferramenta que monitora e relata o desempenho de um aplicativo.
Instrumentação do código A captura direta ou indireta de métricas de desempenho da perspectiva do código do aplicativo. As métricas capturadas incluem métricas de fluxo, uso de recursos e métricas específicas para a linguagem ou tempo de execução.
Rastreamento distribuído Coleta e correlação de métricas em componentes de carga de trabalho distribuída.
Coletor de métricas Um destino de armazenamento para suas métricas que correlaciona dados de séries temporais para análise.
Logs da plataforma Dados de diagnóstico e auditoria que incluem logs de recursos, logs de atividades e logs de auditoria.
Métricas da plataforma Valores numéricos que registram o desempenho da carga de trabalho em um determinado momento.
Logs de recurso Dados que um sistema gera. Ele fornece informações sobre o estado do sistema.
Log estruturado Definição de um formato significativo para registrar mensagens, normalmente como pares de chave-valor.

Estratégias-chave 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 metas de desempenho. Você precisa coletar a quantidade certa e a diversidade de dados para medir o desempenho do código e da infraestrutura em relação às metas de desempenho. Certifique-se de que cada componente e fluxo dentro da carga de trabalho gere automaticamente métricas e logs contínuos e significativos. Você precisa obter esses dados de diversos níveis, como aplicativo, plataforma, armazenamento e sistema operacional. A coleta abrangente de dados de desempenho permite uma compreensão holística do desempenho, permitindo a identificação precisa de ineficiências e caminhos para melhoria.

Centralizar dados de desempenho

A centralização de métricas e logs de desempenho é o processo de coletar métricas e logs de desempenho de várias fontes e armazená-los em um local central. Criar um coletor de métricas central e um coletor de log central. Essa centralização permite fácil acesso, análise e monitoramento de métricas e logs de desempenho em diferentes sistemas e componentes. Ao centralizar métricas e logs, você ganha visibilidade sobre o desempenho da sua carga de trabalho. Escolha uma plataforma ou ferramenta adequada que possa agregar e armazenar métricas e logs de desempenho da carga de trabalho.

Vantagens e desvantagens: entender o custo de coletar métricas e logs. Em geral, quanto mais métricas e logs você coletar, maior será o custo.

Dados de desempenho do segmento

A segmentação de dados de desempenho envolve a organização e a categorização de métricas e logs com base na origem, finalidade ou ambiente. Por exemplo, você deve separar dados de produção de dados de não produção ou distinguir entre metas de desempenho e métricas de negócios. A segmentação de dados ajuda a otimizar ambientes específicos, facilita a solução de problemas e limita imprecisões no monitoramento de desempenho. Ao manter uma distinção clara entre os diferentes tipos de dados, você pode capturar, analisar e responder a métricas relevantes com mais eficiência e melhor alinhamento de integridade da carga de trabalho com objetivos de carga de trabalho. Para segmento dados de desempenho, considere as seguintes recomendações:

  • Mantenha os dados de produção e os dados não produtivos separados. Ao separar os dados por ambiente, você pode garantir o monitoramento e a otimização focados de cada ambiente. Em ambientes de produção, você pode identificar e resolver melhor os problemas de desempenho que afetam diretamente os usuários e as operações de negócios. Em ambientes que não são de produção, a separação de dados facilita a solução de problemas e o ajuste fino eficazes durante a fase de teste antes da implantação na produção.

  • Use um conjunto de dados em cada ambiente. Não use um conjunto de dados para metas de desempenho nem outro conjunto de dados para alertas relacionados às metas de desempenho. O uso de diferentes conjuntos de dados leva a alertas imprecisos que comprometem a eficácia do monitoramento de desempenho.

  • Metas de desempenho e métricas de negócios separadas. As equipes de operações e desenvolvimento usam metas de desempenho para monitorar a integridade da carga de trabalho e atingir as metas de negócios. As métricas de negócios estão relacionadas a metas de negócios ou a relatórios de clientes. Capture métricas de negócios em um fluxo de dados separado, mesmo se os dados se sobreporem diretamente. Essa separação oferece flexibilidade para capturar os dados certos e analisá-los de forma independente.

Definir políticas de retenção

As políticas de retenção determinam por quanto tempo os dados de desempenho devem ser mantidos. Estabelecer essas 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 dão suporte a um melhor desempenho e atendem aos padrões de conformidade. Você deve configurar políticas de retenção para os dados de log e métricas para permitir a solução de problemas e o monitoramento eficazes em todos os ambientes. Por exemplo, os logs e as métricas talvez precisem ser mantidos por mais tempo em um ambiente de produção do que no ambiente de teste. O período de retenção deve corresponder aos requisitos e aos regulamentos de conformidade da sua organização. Decida por quanto tempo reter os dados para fins de análise e auditoria. Arquive os dados que você não precisa para análise imediata.

Coletar dados de desempenho

A coleta de dados envolve o monitoramento e a análise das métricas de desempenho de uma carga de trabalho, como taxa de transferência, latência e tempos de conclusão, coletados principalmente por meio de código de instrumentação. Os dados de desempenho da carga de trabalho fornecem insights valiosos sobre a integridade e o desempenho de um aplicativo. Ao monitorar e analisar dados de desempenho, você pode identificar e solucionar problemas, otimizar o desempenho e tomar decisões informadas para sua carga de trabalho.

Código de instrumento

Instrumentação refere-se ao processo de incorporar trechos de código ou ações em seu código de cargas de trabalho; por exemplo, criar eventos de rastreamento personalizados em seu aplicativo 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 taxa de transferência, latência e tempo de conclusão. É importante diferenciar as operações relacionadas aos negócios de outras operações. Para dados relacionados a operações de negócios, verifique se seus metadados estão estruturados de forma a permitir rastreamento e armazenamento distintos. A instrumentação de código fornece os seguintes benefícios:

  • Identificação de gargalos de desempenho: Ao monitorar métricas como tempo decorrido, você pode identificar gargalos e otimizar o código adequadamente.

  • Avaliação do comportamento do sistema sob carga: Você pode ver o desempenho da carga de trabalho em diferentes cenários de estresse. Esses dados podem ajudar você a identificar problemas relacionados à escalabilidade, simultaneidade e uso de recursos.

  • Monitorando carga de trabalho saúde e disponibilidade: 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.

  • Melhore a experiência do usuário: Você pode obter insights sobre como os usuários interagem com a carga de trabalho. Use essas informações para otimizar a experiência do usuário e identificar áreas de melhoria.

  • Planeje a capacidade e aloque recursos: Os dados de desempenho coletados pela instrumentação podem fornecer insights valiosos sobre os requisitos de recursos de uma carga de trabalho. Essas informações podem informar suas decisões sobre o planejamento da capacidade e a alocação de recursos.

Ao instrumentar código para monitoramento de desempenho, pense nas seguintes estratégias:

  • Use ferramentas APM : Ferramentas de monitoramento de desempenho de aplicativos (APM) coletam e analisam dados de desempenho, incluindo métricas, rastreamentos e logs. As ferramentas de 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 seus aplicativos e cargas de trabalho. A instrumentação personalizada pode medir tempos de execução, rastrear o uso de recursos ou capturar eventos específicos.

  • Capturar horas da transação. A captura de horas da transação está relacionada à medição dos tempos de ponta a ponta das principais funções técnicas como parte do monitoramento de desempenho. As métricas em nível de aplicativo devem incluir tempos de transação de ponta a ponta. Esses tempos de transação devem abranger funções técnicas importantes, como consultas a banco de dados, tempos de resposta para chamadas de API externas e taxas de falha das etapas de processamento.

  • Usar padrões de telemetria. Considere o uso de bibliotecas de instrumentação de ferramentas APM e ferramentas que são construídas em torno de um padrão de telemetria, como OpenTelemetry.

Coletar dados de desempenho do recurso

Ao coletar dados de desempenho de recursos, você pode obter insights sobre a integridade e o comportamento de sua carga de trabalho. Os dados de desempenho dos recursos fornecem informações sobre o uso deles, que é fundamental para o planejamento da capacidade. Esses dados também fornecem informações sobre a integridade de uma carga de trabalho e podem ajudá-lo a detectar problemas e solucionar problemas. Considere as seguintes recomendações:

  • Colete métricas e logs para cada recurso. Cada serviço tem um conjunto de métricas exclusivo para a funcionalidade do recurso. Essas métricas ajudam você a entender a integridade e o desempenho do recurso.

  • Uso da ferramenta da plataforma. Inspire-se em soluções de monitoramento incorporadas e integradas, como o Azure Monitor Insights. Essas ferramentas simplificam as operações de desempenho. Considere as ferramentas da plataforma ao selecionar uma plataforma e invista em ferramentas ou relatórios personalizados.

  • Monitorar o tráfego da rede. Monitorar o tráfego da rede significa rastrear e analisar o fluxo e os padrões de dados, conforme que eles se movem pelos caminhos da rede. Colete análises de tráfego e monitore o tráfego que atravessa os limites da sub-rede. Sua meta é analisar e otimizar o desempenho da rede.

Coletar banco de dados e dados de armazenamento

Muitos sistemas de banco de dados e armazenamento fornecem suas próprias ferramentas de monitoramento. Essas ferramentas coletam dados de desempenho específicos para esses 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 armazene dados de desempenho 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. Pense em coletar 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 ao longo de um período de tempo. Os dados de taxa de transferência indicam os recursos de transferência de dados.

  • Latência : A latência mede quanto tempo duram as 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 capacidade de resposta do sistema de armazenamento.

  • Utilização da capacidade : O uso da capacidade é a quantidade de capacidade de armazenamento usada e a quantidade que está disponível. Os dados de uso da capacidade ajudam as organizações a planejar futuras necessidades de armazenamento.

Coletar dados de desempenho do conector

O tempo gasto aguardando a conclusão das operações de serviços integrados pode contribuir para o baixo desempenho geral de uma carga de trabalho. Se sua carga de trabalho usa conectores para integrar serviços, pense em medir o tempo gasto em cada operação de conector para avaliar seu impacto e decidir se deve otimizar o design da carga de trabalho. Dependendo do serviço, você pode usar o histórico de execuções ou lógica personalizada para capturar o tempo gasto nas operações do conector.

Validar e analisar dados

Os dados de desempenho devem alinhar com as metas de desempenho. Os dados precisam representar a carga de trabalho ou o desempenho do fluxo de forma completa e precisa em relação às metas de desempenho. Por exemplo, o tempo de resposta para um serviço Web tem uma meta de desempenho de 500 milissegundos. Torne a análise de dados uma rotina, pois avaliações frequentes permitem a detecção precoce e a mitigação de problemas de desempenho.

  • Crie alertas. É benéfico ter alertas acionáveis, que permitam a identificação e a retificação imediatas de problemas de desempenho. Esses alertas devem indicar claramente o limite de desempenho violado, o potencial efeito comercial e os componentes envolvidos. Comece configurando um alerta comum e recomendado. Com o tempo, você pode modificar esses critérios com base em suas necessidades específicas. O objetivo principal desses alertas deve ser prever possíveis quedas de desempenho antes que elas se transformem em problemas significativos. Se você não conseguir definir um alerta para uma dependência externa, pense em desenvolver um método para coletar medidas indiretas, como a duração de uma chamada de dependência.

  • Definir limites de coleta de dados. Determine e defina limites lógicos para o volume de dados que você coleta e sua duração de retenção. Às vezes, a telemetria pode produzir grandes quantidades de dados. É essencial se concentrar em capturar apenas os indicadores de desempenho mais vitais ou ter um sistema eficiente para extrair insights significativos de 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 por Application Insights, e visualizado em Desempenho e falhas painéis. Os dados são exportados para o seu ambiente no Application Insights no esquema padrão definido pelo Application Insights. Você pode exportar Dataverse e Power Automate dados para Application Insights, conecte seus aplicativos de tela para Application Insights, e capturar dados de telemetria do seu Microsoft Copilot Studio co-piloto para uso no Azure Application Insights.

O Application Insights permite que você escolha as exibições de dados doServidor e do Navegador. Ao identificar as operações mais longas, você pode diagnosticar problemas potenciais.

Use recursos nativos da plataforma para analisar o desempenho: Análise em 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 tendo o maior impacto na taxa de escalonamento, taxa de abandono e taxa de resolução. Insights de desempenho para Power Apps analisar dados do usuário em tempo de execução e fornecer uma lista priorizada de recomendações para ajudar a melhorar o desempenho de aplicativos orientados a modelos.

Centralizar, segmentar e reter dados de desempenho: Microsoft já reúne ampla telemetria em Dataverse, Power Automate fluxos de nuvem e aplicativos baseados em modelos. Com a integração do Application Insights, um administrador de ambiente ou locatário fornece a chave de instrumentação do Application Insights ao configurar 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 coletada sobre seu ambiente será enviada para seu ambiente. Microsoft Application Insights Ao usar a integração do Application Insights, você vai receber um conjunto padronizado de telemetria que acompanha o modelo de dados telemétricos do Application Insights. Além dessa integração, você também pode conectar aplicativos Canvas Application Insights e capturar dados de telemetria 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 habilitar as configurações de diagnóstico, você pode especificar os logs e as métricas da plataforma a serem coletados e armazenados. Para fins de correlação, habilite o diagnóstico para todos os serviços com suporte e envie os logs para o mesmo destino que os logs do aplicativo.

Coleta de dados de desempenho do banco de dados:Microsoft Dataverse integra-se com Application Insights. No momento, o fluxo de dados fornece dados de desempenho relacionados a chamadas recebidas da API do Dataverse, a chamadas de execução de plug-in do Dataverse e a chamadas de SDK do Dataverse. Para ser notificado sobre problemas, configure alertas com base em limites 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 logs, você pode consultar eventos e obter insights sobre o desempenho do seu aplicativo. Para obter mais informações, consulte Cálculos e opções de custo de logs do Azure Monitor** e Preços do Azure Monitor.

No Azure Monitor, você pode definir regras de alerta para monitorar métricas de desempenho específicas e alertas de gatilho com base em condições predefinidas. Por exemplo, você pode criar uma regra de alerta para notificá-lo quando o tempo de resposta ultrapassar um limite especificado. Configure a regra de alerta para enviar notificações aos destinatários desejados.

Ao criar uma regra de alerta, você pode definir os critérios que determinam quando o alerta deve ser acionado. Você pode definir limites, métodos de agregação, janelas de tempo e a frequência da avaliação. Defina os critérios com base em seus requisitos de monitoramento de desempenho. Além de enviar notificações, você pode especificar ações a serem tomadas quando um alerta for acionado. As ações podem incluir enviar emails, chamar webhooks ou executar funções do Azure. Escolha as ações apropriadas para responder ao cenário de alerta específico.

Exemplos

Lista de verificação Eficiência de Desempenho

Consulte o conjunto completo de recomendações.