41. Test de càrrega sites en cloud extern. - Grupo 6

De Wiket
Salta a la navegació Salta a la cerca

WRK

Para hacer este tipo de pruebas podemos utilizar una herramienta llamada WRK.
Esta herramienta nos la ha facilitado nuestro compañero Joel. Utilizaremos la siguiente "guía" como refuerzo para su instalación y uso: https://www.wpsysadmin.com/blog/2021/03/23/test-estres-wordpress/

Instalación

Lo primero que hemos de hacer es descargar y compilar la herramienta.

apt -y install build-essential libssl-dev git unzip
cd
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
cp wrk /usr/local/bin   

Apartir de este momento podemos ejecutar la herramienta y ver sus opciones.

Usage: wrk <options> <url>
  Options:
    -c, --connections <N>  Connections to keep open
    -d, --duration    <T>  Duration of test
    -t, --threads     <N>  Number of threads to use
    -s, --script      <S>  Load Lua script file
    -H, --header      <H>  Add header to request
        --latency          Print latency statistics
        --timeout     <T>  Socket/request timeout
    -v, --version          Print version details
  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)

Primera Prueba

Pruebas de estrés puede haber varias, así que haremos una primera prueba, trata de simular el echo de acceder muchas veces seguidas a la página principal de nuestro sitio. Añadiremos el siguiente comando para realizar el test:

wrk -c50 -d30s -t1 --latency --timeout 5s https://www.example.com/


En este caso, vamos a hacer una prueba en un VPS que tiene 1 CPU, y haremos una prueba durante 30 segundos. Según la configuración que tengamos, podemos añadir más o menos usuarios simultáneos (por CPU), en este caso 50 usuarios. En total significa que habrá 50 usuarios en 30 segundos.

Resultado Final

Resultados Test de carga


Para ajustar las peticiones deberías tener en cuenta como base las CPU de la máquina, y la cantidad de peticiones (si quieres probar normal, 100 está bien, si tienes montado algo muy bien, una prueba interesante es de 1.000. El tiempo, el que se considere… entre 30 segundos y 1 minuto está bien.