PERF01-BP06 Usar testes comparativos para orientar decisões de arquitetura
Compare a performance de uma workload existente para entender sua performance na nuvem e orientar decisões de arquitetura com base nesses dados.
Práticas comuns que devem ser evitadas:
-
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 implementar esta prática recomendada: o benchmarking da sua implementação atual permite medir melhorias de 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.
Você pode criar seus próprios testes comparativos personalizados ou usar um teste padrão do setor, como o TPC-DS
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, o teste comparativo 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 no ambiente de produção.
Etapas de 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: