Partilhar via


Recomendações para o planeamento do desempenho

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

PE:02 Efetue o planeamento do desempenho. O planeamento do desempenho deve ser efetuado antes de existirem alterações previstas nos padrões de utilização. As alterações previstas incluem variações sazonais, atualizações de produtos, campanhas de marketing, eventos especiais ou alterações regulamentares.

Este guia descreve as recomendações para o planeamento de desempenho e capacidade. O desempenho não é algo que acontece simplesmente, precisa de o planear como qualquer outro requisito. O planejamento de capacidade refere-se ao processo de determinar os recursos necessários para atender às metas de desempenho da carga de trabalho. Envolve estimar a quantidade de recursos necessários para suportar os requisitos de desempenho da carga de trabalho, como armazenamento, taxa de transferência e largura de banda de rede. O planeamento de capacidade garante que a carga de trabalho tem os recursos suficientes para lidar com pedidos de carga de trabalho esperados sem experimentar degradação ou estrangulamentos de desempenho. Também ajuda a evitar o provisionamento excessivo e custos desnecessários. A falta de planejamento de desempenho e capacidade pode levar a problemas de desempenho, gargalos de recursos, custos acrescidos, alocação ineficiente, desafios de escalabilidade e desempenho imprevisível da carga de trabalho.

Definições

Termo Definição
Planeamento de capacidade O processo de previsão dos recursos de que uma carga de trabalho necessita para cumprir os respetivos objetivos de desempenho.
Requisitos funcionais As funcionalidades e capacidades que uma carga de trabalho tem de ter para cumprir a finalidade pretendida.
Requisitos técnicos O código e a infraestrutura necessários para atender aos requisitos funcionais.
Análise de tendências Análise de dados históricos para prever a demanda futura.

Principais estratégias de design

O planejamento de capacidade é um processo prospectivo que envolve a tomada de decisões com base em demandas e padrões de carga de trabalho previstos. O objetivo é otimizar o desempenho das cargas de trabalho em cenários de carga contínua e de pico. Ao compreender as alterações na utilização, tais como turnos sazonais ou lançamentos de produtos, pode alocar recursos estrategicamente, evitando sobrecarga do sistema durante períodos de procura elevada. Essa estratégia proativa reduz interrupções e reforça a eficiência do desempenho. Ao analisar as tendências de utilização anteriores e os dados de crescimento, pode prever as necessidades a curto e longo prazo. Pode identificar potenciais estrangulamentos e problemas de dimensionamento, assegurando um desempenho consistente e eficiente da carga de trabalho.

Planear para desempenho

Estruture a sua carga de trabalho com o desempenho em mente para minimizar a refatorização após a carga de trabalho estar em execução. Considere os seus requisitos de carga de trabalho no que diz respeito ao desempenho. As considerações de desempenho afetam muitos aspetos da carga de trabalho:

  • Estratégia de dados: tem dados e arquivos de dados existentes aos quais precisa de se ligar? Quantos dados precisa de armazenar? O volume de dados irá afetar a rapidez com que os utilizadores lhe podem aceder? Como é que os utilizadores vão aceder aos dados?

  • Estratégia de integração: pode fazer integrações em tempo real sem tornar o sistema lento? Pode fazer integrações em lote dentro de um determinado período de tempo? Onde estão localizados os seus dados? Necessita uma estratégia de gateway de dados no local?

  • Volumes de conversas: ao criar um agente, é importante compreender o volume de destino de mensagens ou conversas e o respetivo crescimento esperado. As suas expetativas validam a arquitetura de destino? E o dimensionamento?

  • Modelação de dados: necessita de simplificar a sua estrutura de dados para consultas mais rápidas?

  • Modelação de segurança: as suas regras de segurança funcionarão bem com muitos utilizadores e dados? Existem estrangulamentos?

  • Estratégia de ambientes: tem um ambiente de teste para testes de desempenho? É semelhante ao ambiente de produção? Orçou para testes de desempenho?

  • Desenvolvimento: os programadores estão a seguir as melhores práticas de desempenho? Estão a atingir objetivos de desempenho específicos? Os utilizadores sabem o que é possível e o que não é?

  • Design e abordagem a testes: como é que mede o desempenho? O que é bom o suficiente e o que não é? Está a testar com cenários e dados realistas? Você está testando para necessidades atuais e futuras?

  • Aceitação e adoção por parte dos utilizadores: como é que monitoriza o desempenho? As expetativas dos utilizadores são realistas?

Planear os seus recursos

O desempenho requer tempo, dinheiro, esforço e pessoas. Aloque recursos com sabedoria desde o início do seu projeto. Por exemplo, os programadores poderão precisar de tempo adicional para encontrar formas eficientes de implementar a lógica de negócio e de otimizar o código. Também vai precisar de um ambiente de testes e de uma equipa para realizar testes de desempenho.

O desempenho não é uma atividade única. À medida que a utilização da carga de trabalho muda e a plataforma evolui, precisa de revisitar o código e continuar a encontrar formas de otimizar o desempenho.

Planear migrações e integrações de dados

Ao migrar dados de um sistema anterior, planeie a migração cuidadosamente. Eis algumas sugestões para o ajudar a evitar problemas:

  • Compreenda os requisitos de negócio para os dados que está a migrar. Não migre mais dados do que os utilizadores precisam. Por exemplo, provavelmente não necessita de importar 10 anos de oportunidades potenciais antigas para o seu sistema de vendas.

  • Considere quando e com que frequência as suas integrações são executadas. Evite executar processos que consomem muitos recursos quando os utilizadores estão a interagir com o sistema. Agende processos pesados para horários fora de pico ou utilize processamento assíncrono.

  • Esteja ciente das limitações da plataforma e das melhores práticas ao conceber as suas integrações.

Reunir dados de desempenho

A recolha de dados de utilização da carga de trabalho envolve a recolha e a análise de informações sobre como uma carga de trabalho utiliza recursos e como ela se comporta. Deverá recolher dados sobre padrões históricos para as cargas de trabalho existentes e medidas preditivas para novas cargas de trabalho. Este processo ajuda a traduzir os objetivos do negócio em requisitos técnicos e é essencial para a previsão de capacidade. Considere as seguintes recomendações.

Compreender uma carga de trabalho existente

Compreender uma carga de trabalho existente para o planejamento de capacidade envolve a análise de dados históricos relacionados a como a carga de trabalho utiliza recursos. Engloba métricas como a utilização de recursos, dados de desempenho e padrões de carga de trabalho. Esta compreensão assegura a alocação eficiente de recursos, traduz os objetivos do negócio em requisitos técnicos e ajuda a identificar potenciais estrangulamentos.

  • Compreender os dados: reveja os dados históricos disponíveis e compreenda a sua estrutura, formato e relevância para o planeamento de capacidade. A revisão pode incluir métricas de utilização de recursos, padrões de carga de trabalho, métricas de desempenho e outros pontos de dados relevantes. Compreenda os processos de negócio e a criticidade das aplicações. Identifique as horas de pico de utilização, carga de utilizadores, taxas de transações e outras métricas relevantes.

  • Limpar e pré-processar os dados: prepare os dados para análise removendo quaisquer inconsistências, erros ou valores atípicos. A preparação dos dados pode envolver técnicas de limpeza de dados, como a imputação de dados, o processamento de valores em falta ou a normalização.

  • Identificar métricas-chave: Identifica as métricas relevantes para o planeamento de capacidade. As métricas podem incluir o volume de transações, o débito da rede e os tempos de resposta.

  • Identificarestrangulamentos: mede o débito e os tempos de resposta para identificar os componentes específicos do seu sistema que podem tornar-se estrangulamentos à medida que a carga de trabalho cresce. Utilize capacidades de análise de extração de processos, como reformulação e análise de causa raiz, para identificar estrangulamentos no processo de ponta a ponta.

  • Visualizar os dados: crie visualizações, como gráficos ou desenhos, para obter melhores informações sobre os dados históricos. As visualizações podem ajudá-lo a identificar padrões, tendências e anomalias nos dados para proporcionar uma compreensão mais clara do comportamento da carga de trabalho. Utilize ferramentas de extração de processos para visualizar os dados com um mapa do processo, o que permite uma análise profunda do processo.

Compreender uma nova carga de trabalho

Compreender uma nova carga de trabalho para o planeamento de capacidade refere-se à predição dos requisitos de recursos de uma tarefa futura sem dados históricos. Prever as necessidades futuras de uma nova carga de trabalho sem dados históricos pode ser um desafio. Este processo garante que aloca recursos de forma eficiente e que alinha as alocações com os objetivos da carga de trabalho quando a carga de trabalho é introduzida.

Considere as seguintes recomendações:

  • Pesquisa de utilizadores: efetuar pesquisa de utilizadores para compreender como os utilizadores lidam com a carga de trabalho atual pode fornecer informações valiosas sobre o potencial pedido por uma nova carga de trabalho. A pesquisa pode envolver entrevistas com usuários, pesquisas ou observar um usuário executando a carga de trabalho existente.

  • Julgamento por especialistas: a contribuição de especialistas no assunto ou profissionais com experiência no setor pode ajudá-lo a estimar a procura por uma nova carga de trabalho. Os seus conhecimentos e informações podem fornecer dados valiosos para a previsão.

  • Projetos-piloto ou protótipos: os projetos-piloto ou protótipos em pequena escala podem ajudá-lo a recolher dados e feedback em tempo real. Em seguida, você pode usar esses dados para informar o processo de planejamento de capacidade e ajustar a demanda prevista.

  • Origens de dados externas: as origens de dados externas, como relatórios do setor, estudos de mercado ou pesquisas com clientes, podem fornecer informações adicionais para estimar a procura por uma nova carga de trabalho. Estas fontes podem oferecer informações valiosas sobre as preferências dos clientes, as tendências do mercado e os potenciais impulsionadores da procura.

Previsão da procura

A previsão da procura envolve a utilização de dados de carga de trabalho para prever necessidades futuras de um serviço ou produto. É essencial para o planeamento da capacidade assegurar a alocação eficiente de recursos, antecipar padrões de crescimento e preparar-se para potenciais picos de procura. Quando prevê a procura futura, utiliza dados para ter uma noção das necessidades futuras. Aplica técnicas de análise estatística, de análise de tendências ou de modelação preditiva aos dados que possui para prever a procura futura. Estes métodos têm em conta padrões históricos ou antecipados e projetam-nos no futuro para fornecer estimativas da procura de carga de trabalho esperada. Para prever a procura, considere as estratégias que se seguem.

Considere vários cenários

Como parte do planejamento de desempenho, você precisa planejar diferentes cenários que podem ocorrer. Este planeamento deve incluir padrões de crescimento previsíveis e surtos inesperados da procura. Os padrões de utilização podem aumentar ou diminuir. Podem ser orgânicos (mais ou menos utilizadores) ou inorgânicos (um evento ou incidente de segurança). Precisa de efetuar o planeamento antes de alterações à utilização, em momentos-chave:

  • Design (predição)
  • Picos regulares (pico de inícios de sessão das 8h00)
  • Lançamento (validação da predição)
  • Mudança do modelo de negócio
  • Aquisição ou fusão
  • Emissão de marketing
  • Alteração sazonal
  • Lançamento da funcionalidade
  • Periodicamente

Utilizar técnicas de predição

A previsão da procura futura de um serviço ou produto envolve a utilização de técnicas como a análise estatística, a análise de tendências e a modelação preditiva.

Eis uma descrição geral de como pode utilizar estas técnicas:

  • Análise estatística: os métodos estatísticos podem ajudar a descobrir padrões e relações nos dados históricos. Pode utilizar estes padrões para prever a procura futura. Pode utilizar técnicas como a análise de séries temporais, a análise de regressão e as médias móveis para identificar tendências, sazonalidade e outros padrões nos dados.

  • Análise de tendências: a análise de tendências envolve examinar dados históricos para identificar padrões consistentes e extrapolar esses padrões para o futuro. Por exemplo, se a procura de carga de trabalho aumentou 10 por cento durante o ano passado, pode prever a continuação desta tendência. Quando analisa dados de procura históricos ao longo de um período de tempo, pode identificar tendências de crescimento ou redução. Utilize estas tendências como base para a previsão da procura futura. A análise de tendências também pode identificar os efeitos de eventos únicos que causam mudanças rápidas no tráfego (inorgânico). Por exemplo, as versões de funcionalidade podem aumentar a procura consistentemente em 5 porcento. Se você tem quatro grandes lançamentos por ano, deve planejar um crescimento de 5% de cada vez.

  • Modelação preditiva: a modelação preditiva é o processo de construção de modelos matemáticos que utilizam dados históricos e outras variáveis relevantes para fazer previsões sobre a procura futura. Pode utilizar técnicas como algoritmos de aprendizagem automática, redes neurais ou árvores de decisão. Estes modelos podem ter em conta múltiplos fatores e variáveis para fornecer previsões mais precisas.

Alinhar previsões com objetivos de carga de trabalho

O alinhamento das previsões com os objetivos de carga de trabalho envolve o ajuste dos modelos de capacidade preditiva para garantir que cumprem as metas e exigências específicas de uma determinada carga de trabalho. Esse alinhamento garante que os recursos sejam provisionados adequadamente, evitando a subutilização e possíveis sobrecargas de carga de trabalho. Por exemplo, se pretende suportar uma integração com 1 milhão de atualizações todas as noites, mas os dados atuais mostram velocidades de atualização lentas, precisa de ajustar o seu sistema. É essencial conversar com as partes interessadas para entender os requisitos da carga de trabalho. Certifique-se de que os seus planos estão alinhados com as promessas (SLAs) dos seus fornecedores de serviços. Este alinhamento assegura que a sua capacidade satisfaz a procura esperada e ajuda a identificar áreas do sistema que poderão necessitar de alterações.

Determinar requisitos de recursos

Uma carga de trabalho pode ter muitos recursos, pelo que não há uma métrica a observar para determinar os requisitos de recursos. É necessário medir a capacidade ao nível dos recursos para obter resultados significativos. Estime a procura esperada para os seus recursos com base em dados históricos, tendências de mercado e projeções de negócio. Considere o número de transações, utilizadores simultâneos ou quaisquer outras métricas relevantes.

Com base na demanda prevista, calcule os recursos necessários para atender a essa demanda. Considere fatores como a capacidade de pedidos de API, a largura de banda da rede, a capacidade de armazenamento e pessoal:

  • Largura de banda da rede: avalie a largura de banda da rede necessária para suportar o nível do tráfego previsto. Você deve incluir taxas de transferência de dados de entrada e saída para garantir uma comunicação suave e eficiente entre servidores e clientes.

  • Capacidade de armazenamento: estime a quantidade de dados que a carga de trabalho gera ou processa durante a procura prevista. Considere fatores como o tamanho do banco de dados, os requisitos de armazenamento de arquivos e quaisquer outras necessidades de armazenamento de dados específicas do seu aplicativo.

  • Pedidos de API: avalie o consumo do seu pedido de API relativamente à sua capacidade disponível e aos limites de proteção do serviço. Considere fatores como o carregamento inicial de dados e potenciais picos de utilização.

  • Pessoal: avalie os recursos humanos necessários para gerenciar e manter a infraestrutura, lidar com o suporte ao cliente, realizar a manutenção do sistema e garantir operações tranquilas. Considere fatores como distribuição da carga de trabalho, conjunto de competências e conhecimentos necessários.

Compreender as limitações de recursos

Os recursos na sua carga de trabalho têm limitações de desempenho. As limitações de desempenho aplicam-se às características dentro de cada serviço. Necessita de compreender as limitações dos recursos na sua carga de trabalho e considerar essas limitações nas suas decisões de design. Por exemplo, deve saber se as limitações de recursos exigem que altere a abordagem de design ou a alteração completa dos recursos.

Também precisa de determinar limites atingíveis, o que envolve a identificação dos limiares máximos ou limites de uma carga de trabalho. Esses limites, geralmente, aplicam-se à infraestrutura (computação, armazenamento, rede), aplicação (ligações simultâneas, tempos de resposta, disponibilidade) e serviço (pedidos por segundo). Quando o planejamento de capacidade identifica limites alcançáveis, você precisa modificar a carga de trabalho antes que o limite crie um problema de desempenho. As linhas de base de desempenho, a monitorização contínua e os testes são essenciais para validar os limites e a solução.

Troca: o planeamento incorreto de capacidade pode levar a aprovisionamento excessivo ou insuficiente de recursos. O excesso de provisionamento pode levar a custos mais altos. Um provisionamento insuficiente pode resultar em mau desempenho. Também pode encontrar uma taxa maior de alertas de falsos positivos que podem levar a perda de tempo a investigar problemas de desempenho que não existem. Tente encontrar o equilíbrio certo.

Facilitação do Power Platform

Recolha de dados de capacidade e previsão da procura: o Azure Monitor permite-lhe recolher e analisar dados de telemetria a partir das suas aplicações e infraestrutura. Suporta a monitorização de vários recursos do Azure, incluindo máquinas virtuais, contentores e contas de armazenamento. As principais ferramentas incluem o Application Insights e o Log Analytics. Ao configurar a recolha de dados e definir métricas e registos que pretende monitorizar, pode recolher dados valiosos da carga de trabalho para análise. Para a monitorização de rede, combine o Azure Monitor com o Observador de Rede do Azure, as Informações de Rede Azure Monitor e a monitorização do Azure ExpressRoute.

O Azure Monitor permite-lhe analisar dados históricos e aplicar técnicas de previsão para prever tendências de carga de trabalho futuras e requisitos de capacidade. Pode gerar previsões que podem ajudá-lo no planeamento da capacidade. Estas previsões ajudam a estimar a capacidade do servidor, a largura de banda da rede, a capacidade de armazenamento e outras necessidades de recursos utilizando padrões de procura previstos.

Determinar requisitos de recursos: como fornecem uma ampla gama de configurações, as ferramentas e serviços do Azure podem ajudá-lo a definir requisitos técnicos. Pode alinhar os seus requisitos de carga de trabalho com os recursos disponíveis do Azure, garantindo que seleciona os componentes e definições apropriados para satisfazer as suas necessidades funcionais.

Compreender as limitações de recursos: o Power Platform fornece documentação e recursos para ajudá-lo a compreender as limitações de desempenho de cada um dos diferentes serviços. Levar em consideração essas limitações pode ajudá-lo a tomar decisões de projeto informadas e otimizar sua arquitetura de carga de trabalho para desempenho e custo-benefício.

Existem limites de dimensionamento na sua configuração e serviços que deve conhecer. Pode ler a documentação ou executar testes. Para mais informações, consulte:

Utilizar chamadas de dados a partir de aplicações de tela: os fluxos de chamada de dados de aplicações de tela enviam dados para origens de dados tabulares utilizando conectores através do protocolo OData. OData solicita fluxo para que as camadas de back-end contactem a origem de dados de destino, e recuperem dados para o cliente, ou submetam dados para a origem de dados. Conectores baseados em ações que permitem às APIs funcionar da mesma maneira.

A compreensão de como os pedidos OData e de API viajam em aplicações de tela pode ajudá-lo a otimizar o desempenho da sua aplicação de tela e as suas origens de dados de back-end. Para saber mais, consulte Fluxo de chamada de dados em aplicações de tela.

Lista de verificação de eficiência de desempenho

Consulte o conjunto completo de recomendações.