PERF01-BP06 Realizar testes comparativos das workloads - AWS Well-Architected Framework

PERF01-BP06 Realizar testes comparativos das workloads

Faça um teste comparativo de uma carga de trabalho para entender a performance dela na nuvem. Use os dados coletados em benchmarks para direcionar as decisões de arquitetura.

Use testes comparativos com testes sintéticos e monitoramento de usuários reais para gerar dados sobre a performance dos componentes da sua workload. O benchmarking é usado na avaliação da tecnologia para um componente específico e geralmente é mais simples de configurar do que testes de carga. Muitas vezes o benchmarking é usado no início de um novo projeto, quando ainda não há uma solução completa para o teste de carga.

Você pode criar seus próprios testes comparativos personalizados, ou usar um teste padrão do setor, como o TPC-DS para fazer testes comparativos das suas cargas de trabalho de data warehouse. Os benchmarks do setor são úteis ao comparar ambientes. Já os benchmarks personalizados são úteis para direcionar a tipos específicos de operações que você espera realizar em sua arquitetura.

Ao realizar testes comparativos, é importante "preaquecer" o ambiente de teste a fim de garantir resultados válidos. Execute o mesmo benchmark várias vezes para assegurar a captura de qualquer variação ao longo do tempo.

Como normalmente é mais rápido executar testes comparativos do que testes de carga, eles podem ser usados mais cedo no pipeline de implantação e fornecer um feedback mais rápido sobre desvios de performance. Ao avaliar uma alteração significativa em um componente ou serviço, um benchmark pode ser uma maneira rápida de verificar se é possível justificar a iniciativa para concretizar a alteração. O uso de benchmarking em conjunto com testes de carga é importante porque o teste de carga informa como será a performance de sua carga de trabalho em produção.

Antipadrões comuns:

  • Você depende de testes comparativos comuns que não são indicativos das características da carga de trabalho.

  • Você conta com o feedback e as percepções de clientes como seu único teste comparativo.

Benefícios do estabelecimento desta prática recomendada: O benchmarking da sua implementação atual permite medir a melhoria da performance.

Nível de exposição a riscos quando esta prática recomendada não é estabelecida: Médio

Orientações para a implementação

Monitorar a performance durante o desenvolvimento: implemente processos que deem visibilidade da performance à medida que a workload evolui.

Integrar-se com o pipeline de entrega: execute testes de carga automáticos em seu pipeline de entrega. Compare os resultados do teste com indicadores-chave de performance (KPIs) e limites predefinidos para garantir que você continue atendendo aos requisitos de performance.

Testar a jornada dos usuários: use versões sintéticas ou limpas de dados de produção (remova informações confidenciais ou de identificação) para o teste de carga. Exercite toda sua arquitetura usando jornadas do usuário reproduzidas ou pré-programadas por meio de seu aplicativo em escala.

Monitoramento de usuários reais: use o CloudWatch RUM para ajudar a coletar e visualizar dados do lado do cliente sobre a performance da sua aplicação. Use esses dados para ajudar a estabelecer testes comparativos de performance de usuários reais.

Recursos

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: