Wymored Login

como fazer um teste de stress ou carga em uma aplicação ou servidor

08 de janeiro de 2019 por Alexandre Miguel de Andrade Souza

Quando desenvolvemos uma nova aplicação, chega um momento que precisamos saber qual a capacidade máxima de usuários simultâneos que o sistema comporta.

Vamos descobrir como fazer isso.

1) instale o ApacheBench, ou ab com o usuario root. O exemplo é para um servidor com Ubuntu:

apt update 
apt install apache2-utils

2) Execute o comando para realizar os testes:

ab -c 50 -n 50  https://127.0.0.1/

No exemplo acima estamos solicitando para simular 50 usuarios (-c 50) e uma requisição por usuário (50 x 1 =50). É importante ter essa relação em mente para ajustar de acordo com o perfil do seu site. Se ele tem muitos visitantes com poucas páginas requisitadas, aumente -c e diminua proporcionalmente o -n. o -n não pode ser menor que -c, afinal, cada usuário precisa fazer pelo menos uma requisição.

3) A última parte da resposta do teste é a mais importante:

 Percentage of the requests served within a certain time (ms)
 ...
 100pct    420 (longest request)

Enquanto o tempo de resposta for razoável, tipo menos de 1 segundo, vá aumentando a carga:

ab -c 100 -n 100   https://127.0.0.1/
ab -c 200 -n 200   https://127.0.0.1/
ab -c 300 -n 300   https://127.0.0.1/
ab -c 500 -n 500   https://127.0.0.1/
ab -c 1000 -n 1000   https://127.0.0.1/

Se o tempo começar a passar de 1 segundo começa a significar que a experiência do seu usuário começa a ser prejudicada e você deve encontrar formas de melhorar a capacidade de resposta do servidor ou da aplicação.

Você pode estressar páginas diferentes para ver como elas respondem de forma diferente

 ab -c 1000 -n 1000   https://127.0.0.1/index.html
 ab -c 1000 -n 1000   https://127.0.0.1/image1.png
 ab -c 1000 -n 1000   https://127.0.0.1/relatorio

inté!

Fonte: 1