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 | Otimizar continuamente o desempenho. Concentre-se em componentes que mostram deterioração do desempenho ao longo do tempo, como bases de dados e caraterísticas de rede. |
---|
Este guia descreve as recomendações para otimização contínua do desempenho. A otimização contínua do desempenho é o processo de monitorizar, analisar e melhorar constantemente a eficiência do desempenho. A otimização do desempenho precisa de ser uma atividade contínua durante toda a vida útil da carga de trabalho. O desempenho da carga de trabalho pode degradar-se ou tornar-se excessivo ao longo do tempo. Os fatores a considerar incluem mudanças nos padrões de utilização, o aumento de dados armazenados, a procura, as caraterísticas e a dívida técnica.
Definições
Termo | Definição |
---|---|
Dívida técnica | As ineficiências acumuladas, escolhas de design aquém do ideal ou atalhos intencionalmente removidos durante o processo de desenvolvimento para entregar código mais depressa. |
Tempo para entrar em direto | Um mecanismo que define um tempo de expiração para os dados. |
Principais estratégias de design
A eficiência do desempenho é alcançada quando a capacidade da carga de trabalho está alinhada com a utilização real. Uma carga de trabalho com um desempenho excessivo é tão problemática como uma carga de trabalho com um desempenho inferior. As trocas diferem. O desempenho excessivo afeta a otimização de custos. O mau desempenho afeta os utilizadores. A chave para a eficiência do desempenho é monitorizar, ajustar e testar ao longo do tempo. Precisa de rever regularmente as métricas de desempenho e fazer os ajustes necessários para garantir que a carga de trabalho é eficiente. É necessário testar todas as alterações antes e depois da implementação para atingir as metas de desempenho.
Desenvolver uma cultura de desempenho
Uma cultura de desempenho é um ambiente em que se espera melhoria contínua e a equipa aprende com a produção. A otimização do desempenho requer competências especializadas. As equipas de carga de trabalho precisam das competências e mentalidade certas para otimizar o desempenho de forma a satisfazer os aumentos e diminuições da procura. Também precisa de alocar o tempo delas para suportar a monitorização e a remediação necessárias de problemas de desempenho à medida que surgem. Estas equipas precisam de expetativas claras. Por exemplo, os objetivos de desempenho, as linhas de base e os limiares de desvio (quão longe da linha de base é aceitável) precisam de ser altamente visíveis e socializados.
Troca: as otimizações contínuas do desempenho requerem uma equipa que tenha as competências certas e tempo para encontrar e corrigir problemas de desempenho. Dedicar colaboradores ao desempenho aumenta o custo operacional. Se tiver recursos humanos limitados, a otimização contínua do desempenho pode tirar tempo de outras tarefas operacionais.
Avalie as novas caraterísticas da plataforma
A avaliação de novas caraterísticas da plataforma envolve examinar as novas funcionalidades e caraterísticas que podem melhorar a eficiência do desempenho, como formas otimizadas de consultar dados, controlos modernos ou mecanismos de colocação em cache. As novas caraterísticas da plataforma podem abrir caminhos para melhorar a eficiência do desempenho. Mantenha-se atualizado com as caraterísticas da plataforma para garantir que está a usar as inovações e as melhores práticas mais recentes. Monitorize consistentemente o feedback e as métricas de desempenho destas novas adições para refinar a sua abordagem.
Dar prioridade aos esforços de otimização
Otimizar proativamente o desempenho significa tomar medidas para melhorar o desempenho da carga de trabalho antes que surjam quaisquer problemas de desempenho. O uso de medidas proativas envolve a identificação de possíveis estrangulamentos, a monitorização de métricas de desempenho e a implementação de otimizações para garantir que a carga de trabalho opera de forma eficiente e cumpre os objetivos de desempenho pretendidos. Com base na análise de componentes deteriorados, fluxos críticos e dívida técnica, você pode implementar otimizações de desempenho específicas para cada área. As melhorias podem envolver alterações ao código, ajustes à infraestrutura ou atualizações de configuração.
Dar prioridade a componentes em deterioração
À medida que a carga de trabalho evolui e os padrões de utilização mudam, estas alterações, frequentemente, afetam o desempenho de componentes individuais na carga de trabalho. O aumento de dados em bases de dados pode levar a tempos de execução de consultas mais longos e a recuperação de dados mais lenta. Alterações nos padrões de utilização podem resultar num design de consultas aquém do ideal. Consultas que anteriormente eram eficientes podem tornar-se ineficientes à medida que a carga de trabalho evolui. Consultas ineficientes podem consumir recursos excessivos e degradar o desempenho da base de dados.
É importante fazer esforços contínuos para otimizar o desempenho de componentes que mostram desempenho reduzido ao longo do tempo. Identifique e resolva proativamente os problemas de desempenho na sua carga de trabalho. Ao dar prioridade a componentes em deterioração conhecidos, pode resolver proativamente potenciais problemas de desempenho e garantir o bom funcionamento da sua carga de trabalho. Considere a implementação de técnicas de ajuste de desempenho ou a otimização da alocação de recursos.
Dar prioridade a fluxos de utilizador e de sistema críticos
Os fluxos de utilizador e de sistema críticos são os processos ou fluxos de trabalho mais importantes e de alta prioridade na carga de trabalho. Ao dar prioridade e estes fluxos críticos, garante que as partes mais essenciais da carga de trabalho são otimizadas para desempenho. Saber que fluxos são críticos ajuda a dar prioridade aos esforços de otimização. A otimização da eficiência de desempenho das áreas mais importantes da sua aplicação proporciona o maior retorno sobre o investimento. Deve monitorizar fluxos críticos e as partes mais populares da aplicação. Procure formas de os tornar mais eficientes.
Automatizar a otimização do desempenho
A automatização pode eliminar processos manuais repetitivos e demorados, permitindo que sejam executados de forma eficiente. A automatização reduz as probabilidades de erro humano e garante consistência na execução de tarefas de otimização. Ao automatizar estas tarefas, também pode libertar as pessoas para se concentrarem em atividades mais complexas e atividades que adicionam valor. Pode aplicar a automatização a várias tarefas, como testes de desempenho, implementação e monitorização.
Testes de desempenho automatizados: use ferramentas de teste de desempenho automatizadas, como Selenium, para simular diferentes cargas de trabalho e cenários. Power Apps Test Engine é um componente dentro do Power Platform CLI que pode utilizar para testar as aplicações de tela autónomas no Power Apps.
Implementação automatizada: implemente processos de implementação automatizados para garantir implementações consistentes e sem erros. Use ferramentas de CI/CD (integração contínua/entrega contínua) para automatizar o processo de implementação. Estas ferramentas podem ajudá-lo a identificar estrangulamentos de desempenho à medida que as usa para testar em relação a pontos finais, verificar o estado HTTP e até mesmo validar a qualidade e as variações dos dados.
Monitorização e alertas: configure sistemas automatizados de monitorização e alertas para monitorizar continuamente as métricas de desempenho e detetar quaisquer desvios ou anomalias. Quando são detetados problemas de desempenho, podem ser acionados alertas automatizados para notificar as equipas ou os indivíduos apropriados.
Gestão de incidentes: implemente um sistema automatizado de gestão de incidentes que possa receber alertas, criar pedidos de suporte e atribuir pedidos de suporte às equipas apropriadas para resolução. Estes passos ajudam a garantir que os problemas de desempenho são prontamente resolvidos e atribuídos aos recursos certos.
Diagnóstico automatizado: desenvolva ferramentas de diagnóstico automatizado ou scripts que possam analisar dados de desempenho e identificar as causas raiz dos problemas de desempenho. Estas ferramentas podem ajudar a identificar áreas ou componentes específicos do sistema que estão a causar problemas de desempenho.
Ações de remediação automatizadas: defina e implemente ações de remediação automatizadas que podem ser acionadas quando são detetados problemas de desempenho específicos. Estas 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 autorrecuperação: crie recursos de autorrecuperação no seu sistema ao automatizar o processo de recuperação para problemas de desempenho conhecidos. Esta capacidade pode envolver a correção ou ajuste automático da configuração do sistema para restaurar o desempenho ideal.
Resolver a dívida técnica
A dívida técnica refere-se às ineficiências acumuladas, escolhas de design aquém do ideal ou atalhos removidos durante o processo de desenvolvimento que podem afetar o desempenho. Dívida técnica, código pouco claro e implementações excessivamente complexas podem tornar a eficiência do desempenho mais difícil de alcançar. Lidar com a dívida técnica envolve identificar e resolver estes problemas para melhorar o desempenho geral e a capacidade de manutenção da carga de trabalho. Este trabalho pode incluir a refatorização do código, a otimização de consultas de base de dados, a melhoria do design arquitetónico ou a implementação de melhores práticas. Talvez, por exemplo, tenha introduzido uma dívida técnica para cumprir um prazo — precisará de lidar com essa dívida técnica à medida que otimiza a eficiência do desempenho ao longo do tempo.
Otimizar bases de dados
A otimização contínua de bases de dados envolve a identificação e a implementação de otimizações para garantir que as bases de dados podem lidar com cargas, fornecer tempos de resposta rápidos e minimizar a utilização de recursos. Ao otimizar regularmente as bases de dados, pode melhorar o desempenho da aplicação, reduzir o tempo de inatividade e melhorar a experiência geral do utilizador.
- Otimizar consultas de base de dados: consultas de base de dados mal escritas podem prejudicar o desempenho da base 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. Volte a escrever consultas que obtêm demasiados dados. Identifique as suas consultas de base de dados mais comuns ou críticas e otimize-as. A otimização ajuda a garantir consultas mais rápidas.
- Rever o design do modelo: reveja o modelo de dados para garantir que o otimize para os requisitos específicos da aplicação.
Facilitação do Power Platform
Automatizar a otimização do desempenho: o verificador de soluções fornece recomendações de desempenho baseadas numa análise estática avançada em soluções contra um conjunto de regras de melhores práticas para rapidamente identificar estes padrões problemáticos. Certifique-se de que revê e aborda estas recomendações regularmente.
Monitorização da otimização do desempenho: integre as suas cargas de trabalho do Power Platform com o Application Insights para obter informações e recomendações para otimizar o desempenho.
Analise o desempenho e a utilização do agente no Copilot Studio: a Análise do Copilot fornece uma descrição geral abrangente do desempenho do seu agente. Usa a tecnologia de inteligência artificial (IA) para identificar que tópicos têm o maior impacto na taxa de escalamento, taxa de abandono e taxa de resolução. Rastrear taxas de cativação de conversas e os resultados é essencial para medir as métricas de desempenho do agente e para descobrir áreas de melhoria.
Lista de verificação de eficiência de desempenho
Consulte o conjunto completo de recomendações.