Recomendações para planejamento 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:02 | Conduzir planejamento de desempenho. O planejamento de desempenho deve ser feito antes que haja alterações previstas nos padrões de uso. As alterações previstas incluem variações sazonais, atualizações de produtos, campanhas de marketing, eventos especiais ou alterações regulatórias. |
---|
Este guia descreve as recomendações para obter desempenho e planejamento de capacidade. O desempenho não é algo que simplesmente acontece, você precisa planejá-lo 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 a estimativa da quantidade de recursos necessários para atender aos requisitos de desempenho da carga de trabalho, como armazenamento, taxa de transferência e largura de banda da rede. O planejamento de capacidade garante que a carga de trabalho tenha recursos suficientes para lidar com as demandas de carga de trabalho esperadas sem sofrer degradação ou gargalos de desempenho. Isso também ajuda a evitar provisionamento excessivo e custos desnecessários. A falta de planejamento de desempenho e capacidade pode levar a problemas de desempenho, gargalos de recursos, aumento de custos, alocação ineficiente, desafios de escalabilidade e desempenho imprevisível da carga de trabalho.
Definições
Termo | Definição |
---|---|
Planejamento de capacidade | O processo de prever recursos que uma carga de trabalho precisa para atingir suas metas de desempenho. |
Requisitos funcionais | Os recursos que uma carga de trabalho deve 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ência | Análise de dados históricos para prever a demanda futura. |
Estratégias-chave de design
O planejamento de capacidade é um processo voltado para o futuro que envolve a tomada de decisões com base em demandas e padrões de carga de trabalho previstos. Sua meta é otimizar o desempenho da carga de trabalho em cenários de carga contínua e de pico. Ao compreender as alterações no uso, como turnos sazonais ou lançamentos de produtos, é possível alocar recursos estrategicamente, evitando a tensão do sistema durante períodos de alta demanda. Essa estratégia proativa reduz interrupções e aumenta a eficiência de desempenho. Ao analisar as tendências de uso anteriores e os dados de crescimento, você pode prever as necessidades de curto e longo prazo. Você pode identificar possíveis gargalos e problemas de escala, garantindo um desempenho consistente e eficiente da carga de trabalho.
Plano de desempenho
Projete sua carga de trabalho com desempenho tendo em mente minimizar a refatoração após a execução da carga de trabalho. Considere seus requisitos de carga de trabalho quando se trata de desempenho. As considerações de desempenho afetam muitos aspectos da carga de trabalho:
Estratégia de dados: Você tem dados e armazenamentos de dados existentes aos quais precisa se conectar? Quantos dados você precisa armazenar? O volume de dados afetará a rapidez com que os usuários podem acessá-lo? Como os usuários acessarão os dados?
Estratégia de integração: É possível fazer integrações em tempo real sem deixar o sistema lento? Você pode fazer integrações em lote dentro de um determinado tempo? Onde ficam seus dados? Você precisa de uma estratégia de gateway de dados local?
Volumes de conversas: Ao criar um copiloto, é importante entender o volume-alvo de mensagens ou conversas e seu crescimento esperado. Suas expectativas validam a arquitetura alvo? E quanto à escala?
Modelagem de dados: Você precisa simplificar sua estrutura de dados para consultas mais rápidas?
Modelagem de segurança: Suas regras de segurança funcionarão bem com muitos usuários e dados? Há gargalos?
Estratégia de ambiente: Você tem um ambiente de teste para testes de desempenho? É semelhante ao ambiente de produção? Você fez um orçamento para testes de desempenho?
Desenvolvimento: Os desenvolvedores estão seguindo as melhores práticas de desempenho? Eles estão atingindo metas de desempenho específicas? Os usuários sabem o que é possível e o que não é?
Design e abordagem de teste: Como você mede o desempenho? O que é bom o suficiente e o que não é? Você está testando com cenários e dados realistas? Você está testando para necessidades atuais e futuras?
Aceitação e adoção do usuário: Como você monitora o desempenho? As expectativas dos usuários são realistas?
Planejar seus recursos
O desempenho precisa de tempo, dinheiro, esforço e pessoas. Aloque os recursos com sabedoria desde o início do seu projeto. Por exemplo, os desenvolvedores podem precisar de tempo extra para encontrar maneiras eficientes de implementar a lógica de negócios e otimizar o código. Você também precisará de um ambiente de teste e uma equipe para conduzir os testes de desempenho.
O desempenho não é uma atividade ocasional. À medida que o uso da carga de trabalho é alterado e a plataforma evolui, você precisa revisitar o código e continuar a encontrar maneiras de otimizar o desempenho.
Planejar migrações e integrações de dados
Ao migrar dados de um sistema anterior, planeje a migração cuidadosamente. Veja algumas dicas para ajudar você a evitar problemas:
Compreenda os requisitos comerciais para os dados que você está migrando. Não migre mais dados do que os usuários precisam. Por exemplo, provavelmente você não precisa importar clientes potenciais com mais de 10 anos para o sistema de vendas.
Considere quando e com que frequência suas integrações são executadas. Evite executar processos com uso intensivo de recursos quando os usuários estiverem interagindo com o sistema. Agende processos pesados para horários fora de pico ou use processamento assíncrono.
Esteja ciente das limitações da plataforma e das práticas recomendadas ao projetar suas integrações.
Coletar dados de desempenho
A coleta de dados de utilização da carga de trabalho envolve a coleta e a análise de informações sobre como uma carga de trabalho usa os recursos e seu desempenho. Você deve coletar dados sobre padrões históricos para cargas de trabalho existentes e medidas preditivas para novas cargas de trabalho. Esse processo ajuda a traduzir objetivos de negócios em requisitos técnicos e é essencial para a capacidade de previsão. Considere as seguintes recomendações.
Compreender uma carga de trabalho existente
Compreender uma carga de trabalho existente para planejamento de capacidade envolve analisar dados históricos relacionadas a como a carga de trabalho utiliza os recursos. Ele engloba métricas como utilização de recursos, dados de desempenho e padrões de carga de trabalho. Esse entendimento garante a alocação eficiente de recursos, traduz metas de negócios em requisitos técnicos e ajuda a identificar possíveis gargalos.
Entenda os dados: analise o dados históricos disponível e entenda sua estrutura, formato e relevância para o planejamento 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ócios e a criticidade dos aplicativos. Identifique os horários de pico de uso, a carga de usuários, as taxas de transação e outras métricas relevantes.
Limpe e pré-processe os dados: prepare os dados para análise removendo quaisquer inconsistências, erros ou valores discrepantes. A preparação dos dados pode envolver técnicas de limpeza de dados, como imputação de dados, tratamento de valores ausentes ou normalização.
Identifique as principais métricas: Identifique as métricas relevantes para o planejamento de capacidade. As métricas podem incluir volume de transações, taxa de transferência de rede e tempos de resposta.
Identifiquegargalos: meça a taxa de transferência e os tempos de resposta para identificar os componentes específicos do seu sistema que podem se tornar gargalos à medida que a carga de trabalho aumenta. Use recursos de análise de mineração de processos, como retrabalho e análise de causa raiz, para identificar gargalos no processo de ponta a ponta.
Visualize osdados: crie visualizações, como gráficos ou diagramas, para obter melhores insights sobre dados históricos. As visualizações podem ajudar a identificar padrões, tendências e anomalias nos dados para fornecer uma compreensão mais clara do comportamento da carga de trabalho. Use as ferramentas de mineração de processos para visualizar os dados com um mapa de processos, possibilitando uma análise profunda do processo.
Noções básicas sobre a nova carga de trabalho
Noções básicas sobre a nova carga de trabalho para planejamento de capacidade refere-se a prever os requisitos de recursos de um futuro tarefa sem dados históricos. Prever as necessidades futuras de uma nova carga de trabalho sem dados históricos pode ser um desafio. Esse processo garante a alocação eficiente de recursos e o alinhamento de alocações com objetivos de carga de trabalho quando a carga de trabalho for introduzida.
Considere as seguintes recomendações:
Pesquisa de usuário: conduzir pesquisas de usuário para entender como eles lidam com a carga de trabalho atual pode fornecer insights valiosos sobre a demanda potencial por uma nova carga de trabalho. A pesquisa pode envolver entrevistas com usuários, pesquisas ou observação de um usuário executando a carga de trabalho existente.
Julgamento especializado: A contribuição de especialistas no assunto ou profissionais com experiência no setor pode ajudar você a estimar a demanda por uma nova carga de trabalho. Sua experiência e insights podem fornecer informações valiosas para previsão.
Projetos-piloto ou protótipos: Projetos-piloto ou protótipos de pequena escala podem ajudar você a coletar dados e feedback em tempo real. Você pode usar esses dados para informar o processo de planejamento de capacidade e ajustar a demanda prevista.
Fontes de dados externas: Fontes de dados externas, como relatórios do setor, estudos de mercado ou pesquisas com clientes, podem fornecer informações adicionais para estimar a demanda por uma nova carga de trabalho. Essas fontes podem oferecer insights valiosos sobre as preferências do cliente, tendências de mercado e potenciais impulsionadores da demanda.
Previsão de demanda
A previsão de demanda envolve o uso de dados de carga de trabalho para prever necessidades futuras de um serviço ou produto. É essencial para o planejamento de capacidade garantir uma alocação eficiente de recursos, antecipar padrões de crescimento e preparar-se para possíveis picos de demanda. Ao prever a demanda futura, você usa dados para ter uma noção das necessidades futuras. Você aplica técnicas de análise estatística, análise de tendências ou modelagem preditiva aos dados necessários para prever a demanda futura. Esses métodos levam em conta padrões históricos ou antecipados e os projetam para o futuro para fornecer estimativas da demanda de carga de trabalho esperada. Para prever a demanda, considere as estratégias a seguir.
Considere vários cenários
Como parte do planejamento de desempenho, você precisa planejar diferentes cenários que podem ocorrer. Esse planejamento deve incluir padrões de crescimento previsíveis e picos inesperados de demanda. Os padrões de uso podem aumentar ou diminuir. Eles podem ser orgânicos (mais ou menos usuários) ou inorgânicos (um evento ou incidente de segurança). Você precisa realizar um planejamento antes que o uso mude, em momentos-chave:
- Design (previsão)
- Picos regulares (8 horas - entrada urgente)
- Início (validação de previsão)
- Alteração do modelo de negócios
- Aquisição ou fusão
- Push de marketing
- Alteração sazonal
- Início do recurso
- Periodicamente
Usar técnicas de previsão
A previsão da demanda futura de um serviço ou produto envolve o uso de técnicas como análise estatística, análise de tendências e modelagem preditiva.
Aqui está uma visão geral de como você pode usar essas técnicas:
Análise estatística: Métodos estatísticos podem ajudar a descobrir padrões e relacionamentos dentro de dados históricos. Você pode usar esses padrões para prever a demanda futura. Você pode usar técnicas como análise de séries temporais, análise de regressão e 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 demanda de carga de trabalho aumentou 10% durante o ano passado, é possível prever a continuação dessa tendência. Ao analisar dados históricos de demanda ao longo de um período, é possível identificar tendências de crescimento ou redução. Use essas tendências como base para prever a demanda 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ânicos). Por exemplo, versões de recurso podem aumentar consistentemente a demanda em 5%. Se você tem quatro grandes versões por ano, você deve planejar um crescimento de 5% cada vez.
Modelagem preditiva: A modelagem preditiva é o processo de construção de modelos matemáticos que usam dados históricos e outras variáveis relevantes para fazer previsões sobre a demanda futura. Você pode usar técnicas como algoritmos de aprendizado de máquina, redes neurais ou árvores de decisão. Esses modelos podem levar em conta vários 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 da carga de trabalho envolve o ajuste dos modelos de capacidade preditiva para garantir que eles atendam às metas e demandas específicas de uma determinada carga de trabalho. Esse alinhamento garante que os recursos sejam provisionados adequadamente, evitando tanto a subutilização quanto possíveis sobrecargas de trabalho. Por exemplo, se você pretende oferecer suporte a uma integração com 1 milhão de atualizações por noite, mas os dados atuais mostram velocidades de atualização lentas, será necessário ajustar o sistema. É essencial conversar com as partes interessadas para entender os requisitos da carga de trabalho. Certifique-se de que seus planos são alinhados com as promessas (SLAs) de seus provedores de serviços. Esse alinhamento garante que sua capacidade atenda à demanda esperada e ajuda a identificar áreas do sistema que podem precisar de alterações.
Determinar requisitos de recurso
Como uma carga de trabalho pode ter muitos recursos, não há uma métrica a ser observada para determinar os requisitos de recursos. Você precisa medir a capacidade no nível do recurso para obter resultados significativos. Estime a demanda esperada para seus recursos com base em dados históricos, tendências de mercado e projeções de negócios. Considere o número de transações, usuários simultâneos ou qualquer outra métrica relevante.
Com base na demanda prevista, calcule os recursos necessários para atender a essa demanda. Considere fatores como capacidade de solicitação de API, largura de banda da rede, capacidade de armazenamento e pessoal:
Largura de banda da rede: Avalie a largura de banda da rede necessária para suportar o nível de tráfego previsto. Você deve incluir as taxas de transferência de dados de entrada e saída para garantir uma comunicação tranquila e eficiente entre servidores e clientes.
Capacidade de armazenamento: Estime a quantidade de dados que a carga de trabalho gera ou processa durante a demanda prevista. Considere fatores como tamanho do banco de dados, requisitos de armazenamento de arquivos e quaisquer outras necessidades de armazenamento de dados específicas do seu aplicativo.
Solicitações de API: avalie o consumo de solicitações de API em relação à capacidade disponível e aos limites de proteção do serviço. Considere fatores como carga inicial de dados e possíveis picos de uso.
Pessoal: Avaliar os recursos humanos necessários para gerenciar e manter a infraestrutura, lidar com o suporte ao cliente, executar o sistema manutenção e garantir operações tranquilas. Considere fatores como distribuição da carga de trabalho, conjunto de habilidades e experiência necessária.
Entender as limitações de recursos
Os recursos em sua carga de trabalho têm limitações de desempenho. As limitações de desempenho se aplicam aos recursos de cada serviço. Você precisa entender as limitações dos recursos em sua carga de trabalho e considerar essas limitações em suas decisões de design. Por exemplo, você deve saber se as limitações de recursos exigem que você altere a abordagem de design ou altere os recursos completamente.
Você também precisa determinar limites acessíveis, o que envolve identificar os limites máximos ou limites de uma carga de trabalho. Esses limites geralmente se aplicam à infraestrutura (computação, armazenamento, rede), aplicativos (conexões simultâneas, tempos de resposta, disponibilidade) e serviço (solicitações 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, o monitoramento contínuo e os testes são essenciais para validar os limites e a solução.
Compensação: O planejamento de capacidade mal avaliado pode levar ao provisionamento excessivo ou insuficiente de recursos. O provisionamento excessivo pode levar a custos mais elevados. O provisionamento insuficiente pode resultar em baixo desempenho. Você também pode encontrar uma taxa mais alta de alertas falsos positivos, o que pode levar à perda de tempo investigando problemas de desempenho que não existem. Tente encontrar o equilíbrio certo.
Facilitação do Power Platform
Coleta de dados de capacidade e previsão de demanda: O Azure Monitor permite coletar e analisar dados de telemetria de seus aplicativos e infraestrutura. Ele dá suporte ao monitoramento de vários recursos do Azure, incluindo máquinas virtuais, contêineres e contas de armazenamento. As principais ferramentas incluem Application Insights e Log Analytics. Ao configurar a coleta de dados e definir as métricas e logs que deseja monitorar, você pode coletar dados valiosos da carga de trabalho para análise. Para monitoramento de rede, combine o Azure Monitor com o Observador de Rede do Azure, insights de rede do Azure Monitor e monitoramento do Azure ExpressRoute.
O Azure Monitor permite analisar dados históricos e aplicar técnicas de previsão para prever tendências futuras de carga de trabalho e requisitos de capacidade. Você pode gerar previsões que podem ajudá-lo no planejamento da capacidade. Essas previsões ajudam a estimar a capacidade do servidor, a largura de banda da rede, a capacidade de armazenamento e outras necessidades de recursos usando padrões de demanda previstos.
Determinando requisitos de recursos: Como fornecem uma ampla variedade de configurações, as ferramentas e os serviços do Azure podem ajudar você a definir requisitos técnicos. Você pode alinhar seus requisitos de carga de trabalho com os recursos disponíveis do Azure, garantindo que você selecione os componentes e configurações adequados para atender às suas necessidades funcionais.
Compreendendo as limitações de recursos: Power Platform fornece documentação e recursos para ajudar você a entender 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 economia.
There são limites de escala dentro de sua configuração e serviços que você deve estar ciente. Você pode ler a documentação ou executar testes. Para obter mais informações, consulte:
- Power Platform solicitar limites e alocações
- Limites da API de proteção de serviço
- Limites de fluxos automatizados, programados e instantâneos Power Automate
- Cotas e limites para Copilot Studio
Usando chamadas de dados de aplicativos de tela: fluxos de chamadas de dados de aplicativos de tela enviam dados para fontes de dados tabulares usando conectores no protocolo OData. O OData solicita o fluxo para as camadas de back-end para entrar em contato com a fonte de dados de destino e recuperar dados para o cliente ou enviar dados para a fonte de dados. Conectores com base em ações que permitem que APIs funcionem da mesma maneira.
O reconhecimento de como solicitações de OData e API percorrem aplicativos de tela podem ajudar você a otimizar o desempenho do aplicativo de tela e das fontes de dados de back-end. Para saber mais, consulte Fluxo de chamada de dados em aplicativos de tela.
Informações relacionadas
- Monitor do Azure
- Application Insights
- Análise de Logs
- mineração de processos e mineração de tarefas em Power Automate
Lista de verificação Eficiência de Desempenho
Consulte o conjunto completo de recomendações.