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 do estabelecimento dessa prática recomendada: comparar sua implementação atual permite medir as melhorias de desempenho.

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

Orientações para a 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.

Você pode criar seus 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

  • Planeje e defina:

    • Defina os objetivos, o parâmetro de referência, os cenários de teste, as métricas (como utilização da CPU, latência ou throughput) e os KPIs para o teste comparativo.

    • Concentre-se nos requisitos do usuário em termos de experiência do usuário e em outros fatores, como tempo de resposta e acessibilidade.

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

  • Configure e instrumente:

    • Prepare o ambiente e configure os recursos.

    • Implemente monitoramento e registro em log para capturar os resultados dos testes.

  • Compare e monitore:

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

  • Analise e documente:

    • Documente o processo de comparação e as descobertas.

    • Analise os resultados para identificar gargalos, tendências e áreas para melhoria.

    • 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.

  • Otimize e repita:

    • Ajuste as configurações e alocações de recursos com base nos testes comparativos.

    • Teste novamente a workload depois do ajuste para validar as melhorias.

    • Documente seu aprendizado e repita o processo para identificar outras áreas para melhoria.

Recursos

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: