Hola buenas madrugadas, para empezar, el presente post está basado en el artículo de Yang Xiaodong (thank you brother!) Creo que a las justas puedo pronunciar “Hola, cómo estás? y gracias” en chino, el post lo encontré en dicho idioma, y bueno, límites inexistentes gracias al poder de la red: un traductor y ¡sí logré entender! Le pedí permiso al brother para traducirlo al español y me dio luz verde, siento que este post es uno de esos materiales justos y necesarios en el arsenal del desarrollo de software.

WRK

Wrk – una herramienta de benchmarking HTTP

Wrk es una moderna herramienta de benchmarking HTTP capaz de generar carga cuando se ejecuta en una sola CPU de varios núcleos. Combina un diseño multi-hilos con sistemas escalables de notificación de eventos como epoll y kqueue.

Un script LuaJIT opcional puede realizar la generación de peticiones HTTP, respuestas HTTP, procesamiento y generación de informes personalizados. Los detalles están disponibles en SCRIPTING y varios ejemplos se encuentran en la carpeta Scripts.

Esto fue traducido del repositorio oficial de WRK en Github

¡Manos a la obra!

En el post anterior instalamos Bash en Windows 10, vamos ingresando los siguientes comandos una vez iniciado bash:

sudo apt-get install make

herramienta pruebas de rendimiento wrk

sudo apt-get install build-essential

herramienta-pruebas-de-rendimiento-wrk-2

Esto toma unos minutos, tener paciencia y aquí tenemos el resultado:

herramienta-pruebas-de-rendimiento-wrk-3

Siguiendo la wiki del repositorio oficial, necesitaremos instalar 2 paquetes más:

sudo apt-get install libssl-dev git

herramienta-pruebas-de-rendimiento-wrk-4

Ahora, clonamos el repositorio de GIT mediante el siguiente comando:

git clone https://github.com/wg/wrk.git

herramienta-pruebas-de-rendimiento-wrk-5

Ahora vamos a la carpeta wrk haciendo uso de:

cd wrk/

Respirar hondo debemos ¡ya falta poco! Dentro de la carpeta wrk/ ejecutamos:

make

herramienta-pruebas-de-rendimiento-wrk-6

Este paso tomará algo de tiempo, mientras tanto sigan desarrollando, leyendo, aprendiendo que vamos por una compilación y regresamos Open-mouthed smile

herramienta-pruebas-de-rendimiento-wrk-7

Luego de 12 minutos aproximadamente ¡ya todo listo para continuar! Vamos jugando con nuestra herramienta recién instalada:

./wrk -c 1 -t 1 -d 1 http://fredyfx.com

herramienta-pruebas-de-rendimiento-wrk-8

  • -c : Número de conexiones para simular.
  • -t : Necesidad de simular el número de hilos.
  • -d : Duración de la prueba.
  • --timeout : tiempo de espera.

Resultados:

  • Latencia : Tiempo de respuesta.
  • Req/Sec : El número de solicitudes por segundo completado cada hilo.
  • Avg : Promedio.
  • Max : Máximo
  • Stdev : Desviación estándar.
  • +/- Stdev : Más o menos una desviación estándar de contabilidad.

Si la desviación estándar es demasiado grande, indica que la muestra misma tiene un alto grado de dispersión, y es posible que el rendimiento del sistema fluctúe en gran medida.

Si deseas ver la distribución del tiempo de respuesta, puedes añadir el parámetro: --latency

./wrk -c 1 -t 1 -d 1 --latency http://fredyfx.com

herramienta-pruebas-de-rendimiento-wrk-9

Cuando tenemos que ser conscientes de las pruebas de simulación, el número de hilos no debe ser demasiado general, 2-4 veces el número de bastan nuclear. Más sino porque demasiados hilos interruptores causada por la reducción de la eficiencia debido a wrk no utilizar un hilo por modelo de conexión, sino masbien para mejorar la cantidad de red asíncronas concurrentes en I/O. Así que el tráfico de red no bloquea un hilo de ejecución, que es capaz de wrk con muy pocas razones para un gran número de hilos de simulación Fi.

Resultados de las pruebas wrk, hay una Request/sec, que generalmente llamamos QPS (reQuests Per Second, solicitudes por segundo) que es una realización de la prueba de estrés, podemos ver a través de esta aplicación de parámetros de rendimiento.

Extraído del blog de Savorboard, thank you again!

Me despido hasta un siguiente post, no sin antes darle las gracias a mis lectores, un agradecimiento especial a mis hermanos y hermanas de la Comunidad Académica en Tecnologías Microsoft UPAO.net (Trujillo, Perú), a la hermandad de StackOverflow En Español y uno muy especial para mi Geekcita bonita por todo este apoyo y motivación a seguir redactando y publicando con todo el punch 2.0!