Siempre me gustó utilizar AB para probar el rendimiento de una aplicación, es un método sencillo y que arroja resultados en instantes, sin embargo nunca me pareció una solución definitiva, sin embargo no puedo negar que es una pequeña aplicación de gran utilidad.
Una de los problemas que con el que vamos a encontrarnos al utilizar AB es el referido a la compatibilidad con las distintas plataformas, incluso podríamos hablar de algunos problemas referidos a su instalación en algunos entornos, para solucionar estos problemas existe Boom.
Boom es una alternativa a AB, de fácil instalación y que funciona prácticamente en cualquier entorno. Originalmente el proyecto fue escrito en Python, detalle que podía transformarse en una desventaja debido a las dependencias necesarias, razón que provocó que el proyecto se reescriba utilizando Go, eliminando el problema de dependencias original.
La instalación de este proyecto no necesita más que una simple linea:
go get github.com/rakyll/boom
El modo de uso es mediante la linea de comandos y guarda una estrecha relación con AB, por lo que si ya utilizaron este ultimo alguna vez no tendrán inconvenientes en adaptarse a Boom.
Usage: boom [options...] <url> Options: -n Number of requests to run. -c Number of requests to run concurrently. Total number of requests cannot be smaller than the concurency level. -q Rate limit, in seconds (QPS). -t Time limit in seconds. boom will stop after s seconds if specified. -m HTTP method, one of GET, POST, PUT, DELETE, HEAD, OPTIONS. -h Custom HTTP headers, name1:value1;name2:value2. -d HTTP request body. -T Content-type, defaults to "text/html". -a Basic authentication, username:password. -allow-insecure Allow bad/expired TLS/SSL certificates.
Y para terminar el resultado:
% boom -n 1000 -c 100 https://google.com 1000 / 1000 ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 100.00 % Summary: Total: 21.1307 secs. Slowest: 2.9959 secs. Fastest: 0.9868 secs. Average: 2.0827 secs. Requests/sec: 47.3246 Speed index: Hahahaha Response time histogram: 0.987 [1] | 1.188 [2] | 1.389 [3] | 1.590 [18] |∎∎ 1.790 [85] |∎∎∎∎∎∎∎∎∎∎∎ 1.991 [244] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.192 [284] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.393 [304] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.594 [50] |∎∎∎∎∎∎ 2.795 [5] | 2.996 [4] | Latency distribution: 10% in 1.7607 secs. 25% in 1.9770 secs. 50% in 2.0961 secs. 75% in 2.2385 secs. 90% in 2.3681 secs. 95% in 2.4451 secs. 99% in 2.5393 secs. Status code distribution: [200] 1000 responses
Este proyecto se encuentra liberado bajo licencia Apache 2.0.
Lo mejor de mi RSS del 13 al 19 de enero de 2014 | Noticias, tira, podcast, juegos, Linux y software libre
11 años ago
[…] Cuando te dedicas a mejorar el rendimiento de sitios web, siempre viene bien tener alternativas: Boom: Test de rendimiento, alternativa a Apache Benchmark (AB) – Kabytes […]