O que é melhor: teste de estresse de todo o sistema vs perfis e teste de estresse de peças específicas? [fechadas]

1

Eu trabalho em uma empresa totalmente na nuvem e iniciamos um projeto de teste de estresse. A idéia é carregar tudo na produção para um novo ambiente e executar testes de estresse para encontrar a capacidade total do sistema e onde estão os gargalos.

Agora, lembro-me de uma época em que enfatizamos testes de servidores físicos e nuvens privadas, e lembro que era quase impossível obter uma cópia completa da produção e de todas as suas partes móveis. Além disso, mesmo com ferramentas de teste de estresse como sysbench, Jmeter e ab, você nunca poderia simular o tráfego exatamente como a produção.

Geralmente, monitoramos e analisamos o perfil da produção o máximo que podemos, identificamos um problema e tentamos corrigir esse problema específico simulando-o no ambiente de teste de estresse.

Para calcular a capacidade que usamos (e alguns ainda fazemos) usamos um cálculo para prever quando a capacidade será atingida ou se o tempo de resposta está abaixo dos níveis satisfatórios.

Considerando que o projeto de recriar a produção e o teste de estresse é bastante demorado e consome recursos, essa é a melhor maneira de encontrar gargalos no sistema e medir capacidade, ou a maneira "antiga" é melhor?

    
por Jonathan 11.08.2017 / 23:19

1 resposta

1

É sempre melhor enfatizar todo o sistema e usar um ambiente de produção (ou mesmo produção).

Primeiro, confira Um ambiente de teste dimensionado proporcionalmente pode encontrar problemas de carga de desempenho? pergunta e suas respostas.

A infra-estrutura subjacente de um aplicativo é constituída de vários componentes diferentes, como caches, servidores da Web, servidores de aplicativos e discos (E / S). Largura de banda e CDNs também desempenham um papel em sua função e, portanto, devem ser levados em consideração durante o dimensionamento. Cada componente se comporta de maneira diferente no aplicativo de acordo com a configuração e a escala. No entanto, a estrutura em camadas dificulta o cálculo de como cada um deve ser testado e dimensionado.

Portanto, se possível, sempre faça o teste do sistema em condições reais. Se não for possível, você ainda pode teste de testes de carga em execução contra um ambiente reduzido , no entanto, não espere que você possa exatamente extrapolar os resultados como esta máquina tem 10Gb de RAM e é capaz de sobreviver a 1000 RPS, essa máquina tem 20Gb de RAM, portanto, será 2000 RPS - não funcionará dessa maneira.

    
por 14.08.2017 / 07:56