Teste de carga/estresse do ASP.NET Core

Os testes de carga e teste de estresse são importantes para garantir que um aplicativo Web seja eficaz e escalonável. Os testes de carga e estresse têm metas diferentes, embora compartilhem testes semelhantes muitas vezes.

Testes de carga: teste se o aplicativo consegue lidar com uma carga especificada de usuários para um determinado cenário enquanto ainda satisfaz a meta de resposta. O aplicativo é executado em condições normais.

Testes de estresse: teste a estabilidade do aplicativo durante a execução em condições extremas, geralmente por um longo período de tempo. Os testes impõem uma alta carga do usuário, picos ou aumento gradual da carga no aplicativo ou limitam os recursos de computação do aplicativo.

Os testes de estresse determinam se um aplicativo sob estresse consegue se recuperar de uma falha e retornar normalmente ao comportamento esperado. Sob estresse, o aplicativo é executado com um estresse anormalmente alto.

O Teste de Carga do Azure é um serviço de teste de carga totalmente gerenciado que permite gerar cargas de alta escala. O serviço simula o tráfego para aplicativos, independentemente de onde estejam hospedados. A versão prévia do Teste de Carga do Azure permite que você use scripts Apache JMeter existentes para gerar uma carga de alta escala.

O Teste de carga do Visual Studio 2019 foi preterido. O serviço correspondente de teste de carga baseado em nuvem do Azure DevOps foi fechado.

Ferramentas de terceiros

A lista a seguir contém ferramentas de desempenho da Web de terceiros com vários conjuntos de recursos:

Teste de carga e estresse com builds de versão

Os testes de carga e estresse devem ser feitos no modo de lançamento e produção e não no modo de depuração e desenvolvimento. As configurações de versão são totalmente otimizadas com o mínimo de registro em log. A configuração de depuração não é otimizada. O modo de desenvolvimento permite um maior registro em log de informações que podem afetar o desempenho.