Compartilhar via


Recomendações para otimização contínua do desempenho

Aplica-se a esta recomendação da lista de verificação de Eficiência de Desempenho do Power Platform Well-Architected:

PE:10 Otimize continuamente o desempenho. Concentre-se em componentes que exibem o desempenho deteriorado ao longo do tempo, como bancos de dados e recursos de rede.

Este guia descreve as recomendações para a otimização contínua do desempenho. A otimização contínua do desempenho trata-se do processo de monitorar, analisar e melhorar constantemente a eficiência do desempenho. A otimização de desempenho deve ser uma atividade contínua durante toda a vida útil da carga de trabalho. O desempenho da carga de trabalho pode ser reduzido ou se tornar excessivo com o tempo. Os fatores a serem considerados incluem mudanças nos padrões de uso, aumento nos dados armazenados, demanda, recursos e endividamento técnico.

Definições

Termo Definição
Endividamento técnico As ineficiências acumuladas, as escolhas de design abaixo do ideal ou os atalhos usados intencionalmente durante o processo de desenvolvimento para fornecer o código mais rapidamente.
Vida útil Um mecanismo que define um tempo de expiração para os dados.

Estratégias-chave de design

A eficiência do desempenho é alcançada quando a capacidade da carga de trabalho se alinha ao uso real. Uma carga de trabalho com superdesempenho é tão problemática quanto uma que apresenta desempenho inferior. As vantagens e desvantagens diferem. O desempenho excessivo afeta a otimização de custos. O baixo desempenho afeta os usuários. A chave para a eficiência do desempenho é monitorar, ajustar e testar ao longo do tempo. Você precisa revisar regularmente as métricas de desempenho e fazer os ajustes necessários para garantir que a carga de trabalho seja eficiente. É necessário testar todas as alterações pré e pós-implementação para atingir as metas de desempenho.

Desenvolver uma cultura de desempenho

Uma cultura de desempenho é um ambiente no qual a melhoria contínua é esperada e a equipe aprende com a produção. A otimização de desempenho requer habilidades especializadas. As equipes de carga de trabalho precisam das habilidades e mentalidade certas para otimizar seu desempenho para atender aos aumentos e diminuições na demanda. Você também precisa alocar seu tempo para oferecer suporte ao monitoramento e à correção necessários de problemas de desempenho à medida que eles surgem. Essas equipes precisam de expectativas claras. Por exemplo, metas de desempenho, linhas de base e limites de desvio (qual a distância aceitável em relação à linha de base) precisam ser altamente visíveis e socializados.

Vantagens e desvantagens: as otimizações contínuas de desempenho exigem uma equipe que tenha as habilidades e o tempo certos para encontrar e corrigir problemas de desempenho. Dedicar pessoal ao desempenho adiciona custo operacional. Caso você tenha recursos humanos limitados, a otimização contínua de desempenho pode desviar atenção de outras tarefas operacionais.

Avaliar os novos recursos da plataforma

A avaliação de novos recursos da plataforma envolve examinar as novas funcionalidades e recursos que podem melhorar a eficiência do desempenho, como maneiras otimizadas de consultar dados, controles modernos ou mecanismos de cache. Novos recursos da plataforma podem abrir caminhos para melhorar a eficiência do desempenho. Fique atento às atualizações da plataforma para garantir que você esteja utilizando as inovações e melhores práticas mais recentes. Monitore consistentemente os comentários e as métricas de desempenho dessas novas adições para refinar sua abordagem.

Priorizar esforços de otimização

Otimizar proativamente o desempenho significa tomar medidas para melhorar e aprimorar o desempenho da carga de trabalho antes que surjam problemas de desempenho. O uso de medidas proativas envolve a identificação de possíveis gargalos, o monitoramento de métricas de desempenho e a implementação de otimizações para garantir que a carga de trabalho opere com eficiência e atenda às metas de desempenho desejadas. Com base na análise de componentes deteriorados, fluxos críticos e endividamento técnico, você pode implementar otimizações de desempenho específicas para cada área. As melhorias podem envolver alterações de código, ajustes de infraestrutura ou atualizações de configuração.

Priorizar componentes em deterioração

À medida que a carga de trabalho evolui e os padrões de uso mudam, essas alterações geralmente afetam o desempenho de componentes individuais na carga de trabalho. O aumento de dados em bancos de dados pode levar a tempos de execução de consulta mais longos e recuperação de dados mais lenta. Alterações nos padrões de uso podem resultar em design de consulta abaixo do ideal. Consultas que antes eram eficientes podem se tornar ineficientes à medida que a carga de trabalho evolui. Consultas ineficientes podem consumir recursos excessivos e prejudicar o desempenho do banco de dados.

É importante fazer esforços contínuos para otimizar o desempenho dos componentes que apresentam desempenho reduzido ao longo do tempo. Identifique e resolva de forma proativa problemas de desempenho em sua carga de trabalho. Ao priorizar componentes conhecidos em deterioração, é possível resolver de forma proativa possíveis problemas de desempenho e garantir o bom funcionamento de sua carga de trabalho. Implemente técnicas de ajuste de desempenho ou otimize a alocação de recursos.

Priorizar fluxos críticos do usuário e do sistema

Os fluxos críticos do usuário e do sistema são os processos ou fluxos de trabalho mais importantes e de alta prioridade na carga de trabalho. Ao priorizar esses fluxos críticos, você assegura que as partes mais essenciais da carga de trabalho sejam otimizadas para desempenho. Saber quais fluxos são críticos ajuda a priorizar os esforços de otimização. Otimizar a eficiência do desempenho das áreas mais importantes do seu aplicativo fornece o maior retorno sobre o investimento. Você deve monitorar os fluxos críticos e as partes mais populares do aplicativo. Procure maneiras de torná-los mais eficientes.

Automatize otimização de desempenho

A automação pode eliminar processos manuais repetitivos e demorados, permitindo que eles sejam executados de forma eficiente. A automação reduz as chances de erro humano e garante consistência na execução de tarefas de otimização. Ao automatizar essas tarefas, também é possível liberar as pessoas para se concentrarem em atividades mais complexas e atividades que agregam valor. Você pode aplicar a automação a várias tarefas, como teste de desempenho, implantação e monitoramento.

  • Teste de desempenho automatizado: use ferramentas de teste de desempenho automatizadas como o Selênio para simular diferentes cargas de trabalho e cenários. O Mecanismo de teste do Power Apps é um componente do Power Platform CLI que você pode usar para testar aplicativos de tela independentes no Power Apps.

  • Implantação automatizada: implemente processos de implantação automatizados para garantir implantações consistentes e livres de erros. Use ferramentas de CI/CD (integração contínua/entrega contínua) para automatizar o processo de implantação. Essas ferramentas podem ajudá-lo a identificar gargalos de desempenho à medida que você os usa para testar pontos de extremidade, verificar status HTTP e até mesmo validar a qualidade e as variações dos dados.

  • Monitoramento e alerta: configure sistemas automatizados de monitoramento e alerta para monitorar continuamente as métricas de desempenho e detectar quaisquer desvios ou anomalias. Quando problemas de desempenho são detectados, alertas automatizados podem ser disparados para notificar as equipes ou indivíduos apropriados.

  • Gerenciamento de incidentes: implemente um sistema automatizado de gerenciamento de incidentes que possa receber alertas, criar tickets e atribuir tickets às equipes apropriadas para resolução. Essas etapas ajudam a garantir que os problemas de desempenho sejam prontamente resolvidos e atribuídos aos recursos certos.

  • Diagnóstico automatizado: desenvolva ferramentas ou scripts de diagnóstico automatizados que possam analisar dados de desempenho e identificar as causas básicas de problemas de desempenho. Essas ferramentas podem auxiliar na identificação de áreas ou componentes específicos do sistema que estão causando problemas de desempenho.

  • Ações de correção automatizadas: defina e implemente ações de correção automatizadas que podem ser acionadas quando problemas de desempenho específicos são detectados. Essas ações podem incluir reiniciar serviços, ajustar a alocação de recursos, limpar caches ou implementar outras técnicas de otimização de desempenho.

  • Sistemas de auto-recuperação: crie recursos de auto-recuperação em seu sistema automatizando o processo de recuperação para problemas de desempenho conhecidos. Esse recurso pode envolver a correção ou o ajuste automático da configuração do sistema para restaurar o desempenho ideal.

Lidar com a dívida técnica

O endividamento técnico refere-se às ineficiências acumuladas, escolhas de design abaixo do ideal ou atalhos tomados durante o processo de desenvolvimento que podem afetar o desempenho. Endividamento técnico, código pouco claro e implementações excessivamente complexas podem tornar a eficiência de desempenho mais difícil de alcançar. Lidar com o endividamento técnico envolve identificar e resolver esses problemas para melhorar o desempenho geral e a capacidade de manutenção da carga de trabalho. Esse trabalho pode incluir a refatoração de código, a otimização de consultas de banco de dados, a melhoria do design arquitetônico ou a implementação de melhores práticas. Talvez, por exemplo, você tenha introduzido um endividamento técnico para cumprir um prazo, você precisará lidar com esse endividamento técnico à medida que otimiza a eficiência de desempenho ao longo do tempo.

Otimizar bancos de dados

A otimização contínua de bancos de dados envolve a identificação e a implementação de otimizações para garantir que os bancos de dados possam lidar com cargas, fornecer tempos de resposta rápidos e minimizar a utilização de recursos. Ao otimizar regularmente os bancos de dados, é possível melhorar o desempenho do aplicativo, reduzir o tempo de inatividade e aprimorar a experiência geral do usuário.

  • Otimizar consultas de banco de dados: consultas de banco de dados mal escritas podem prejudicar o desempenho do banco de dados. Filtros ineficientes podem causar processamento de dados desnecessário. Subconsultas complexas, consultas aninhadas e funções excessivas podem reduzir a velocidade de execução. Reescreva consultas que recuperam muitos dados. Identifique suas consultas de banco de dados mais comuns ou críticas e otimize-as. A otimização ajuda a garantir consultas mais rápidas.
  • Revisar o design do modelo: revise o modelo de dados para garantir que você o otimize para os requisitos específicos do aplicativo.

Facilitação do Power Platform

Otimização de desempenho automática: o verificador de soluções fornece recomendações de desempenho com base em uma verificação de análise estática em suas soluções com um conjunto de regras de prática recomendada para identificar rapidamente padrões problemáticos. Certifique-se de revisar e abordar essas recomendações regularmente.

Monitorando a otimização de desempenho: integre suas cargas de trabalho do Power Platform com o Application Insights para obter insights e recomendações para otimizar o desempenho.

Analisar desempenho do agente e uso no Copilot Studio: as Análises do Copilot fornecem uma visão geral abrangente do desempenho do agente. Ela usa tecnologia de inteligência artificial (IA) para identificar os tópicos que têm o maior impacto nas taxas de escalonamento, abandono e resolução. Rastrear taxas de engajamento da conversa e resultados é crucial para medir as métricas de desempenho do agente e identificar áreas para melhorias.

Lista de verificação Eficiência de Desempenho

Consulte o conjunto completo de recomendações.