PERF01-BP06 Use testes comparativos para orientar decisões de arquitetura - AWS Well-Architected Framework

PERF01-BP06 Use testes comparativos para orientar decisões de arquitetura

Compare o desempenho de uma workload existente para entender seu desempenho na nuvem e orientar decisões de arquitetura com base nesses dados.

Antipadrões comuns:

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

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

Benefícios de estabelecer esta prática recomendada: Os testes comparativos da implementação atual permitem medir a melhoria da performance.

Nível de risco exposto se esta prática recomendada não for estabelecida: Médio

Orientação para implementação

Use testes comparativos com testes sintéticos para avaliar a performance dos componentes da 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.

É possível criar os próprios testes comparativos personalizados ou usar um teste padrão do setor, como o TPC-DS, para comparar as workloads. 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 para obter resultados válidos. Execute o mesmo teste comparativo várias vezes para verificar 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 testes comparativos em conjunto com testes de carga é importante porque o teste de carga informa como é a performance da workload em produção.

Etapas da implementação

  • Defina as métricas (como utilização da CPU, latência ou throughput) para avaliar o desempenho da workload.

  • Identifique e configure uma ferramenta de testes comparativos adequada à workload. Você pode usar serviços da AWS (como o Amazon CloudWatch) ou uma ferramenta de terceiros compatível com a workload.

  • Execute testes comparativos e monitore as métricas durante o teste.

  • Analise e documente os resultados do teste comparativo para identificar gargalos e problemas.

  • Use os resultados do teste para tomar decisões de arquitetura e ajustar a workload. Isso pode incluir a mudança de serviços ou a adoção de novos recursos.

  • Teste novamente a workload após o ajuste.

Recursos

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: