41. Test de càrrega sites en cloud extern. - Grupo 6
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
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.