ApacheBench (ab), realiza pruebas de carga de tu página web

about ApacheBench

En el siguiente artículo vamos a echar un vistazo a ApacheBench (ab). Este es un programa para la línea de comandos. Con el que podremos medir el rendimiento de los servidores web HTTP. Originalmente fue diseñado para probar el Servidor Apache HTTP, pero resultó ser lo suficientemente genérico como para probar cualquier servidor web.

La herramienta ab viene incluida con la distribución fuente estándar de Apache. Al igual que el servidor web Apache en sí, es un software libre y de código abierto que es distribuido bajo los términos de la Licencia Apache.

Ya sea como uno de los pasos durante el diseño, previo al paso a producción o cualquier otro escenario, es habitual necesitar realizar mediciones sobre la cantidad de páginas que nuestro servidor web podrá servir. Este tipo de pruebas, también conocidas como stress test o pruebas de estrés, son especialmente útiles a la hora de dimensionar nuestros servidores.

ApacheBench (ab) es una herramienta de prueba de carga y evaluación comparativa para el servidor de protocolo de transferencia de hipertexto (HTTP). Se puede ejecutar desde línea de comandos y es muy fácil de usar. Vamos a poder obtener una salida de prueba en solo un minuto. Como no se necesita mucha familiaridad con los conceptos de carga y rendimiento, es adecuado para usuarios principiantes e intermedios. Para usar esta herramienta, no se requiere una configuración compleja.

Características generales de ApacheBench

A continuación vamos a ver algunas de las características y limitaciones más importantes de ApacheBench:

  • Al ser un software de código abierto, está disponible de manera gratuita.
  • Es un programa que podemos utilizar desde la línea de comandos de manera simple.
  • Es una herramienta independiente de la plataforma que utilicemos. Esto significa que vamos a poder utilizarla igualmente en Gnu/Linux o en servidores Windows.
  • El programa puede realizar pruebas de carga y rendimiento únicamente para el servidor web: HTTP o HTTPS.
  • No es extensible. El programa es lo que es, nada más.
  • ApacheBench usa solo un hilo del sistema operativo independientemente del nivel de concurrencia (especificado por la opción -c). Por lo tanto, cuando se comparan los servidores de alta capacidad, una sola instancia de ApacheBench puede ser un cuello de botella. Para saturar completamente la URL objetivo, es mejor usar instancias adicionales de ApacheBench en paralelo, si tu servidor tiene múltiples núcleos de procesador.

Instalar ab

Revisa si en tu sistema tienes instalada la herramienta “ab”, por defecto no es habitual que venga instalada. Si el sistema es Ubuntu o está basado en el, puedes instalarlo escribiendo en una terminal (Ctrl+Alt+T) el siguiente comando:

Instalación ApacheBench

1
sudo apt install apache2-utils

Lanzar una prueba con ApacheBench

Una vez terminada la instalación, vamos a realizar una prueba sencilla. Queremos saber el comportamiento de nuestra página cuando hay 100 peticiones con 10 usuarios que se conecten al mismo tiempo. Para realizar esta prueba, escribimos en la terminal (Ctrl+Alt+T):

1
ab -c 10 -n 100 https://www.ubunlog.com/

Indicamos con “-c” el número de conexiones concurrentes que queremos. Con “-n” vamos a indicar el número total de peticiones que haremos en esta prueba.

ApacheBench funcionando

Cabe destacar que Apache Bench puede ser un tanto peligroso a la hora de probar nuestra página web. Podemos provocar un denial of service si realizamos demasiadas peticiones al mismo tiempo. Es recomendable realizar varios test, empezando por algunos poco exigentes y de ahí ir subiendo mientras monitorizas el servidor.

comandos disponibles para apachebench

El resultado de la prueba es muy interesante. Nos va a aportar los datos necesarios para realizar un buen informe sobre la carga de nuestra web. Si necesitamos un poco más del programa, podemos optar por consultar la ayuda que nos va a ofrecer el programa desde la terminal. Esta nos mostrará las opciones disponibles. También podemos recurrir a la página web de apache.

Desinstalar ApacheBench

Si hemos optado por instalar ab individualmente, y vemos que no nos convence, vamos a poder deshacernos de el escribiendo en la terminal (Ctrl+Alt+T):

1
sudo apt purge apache2-utils && sudo apt autoremove
Comments are closed.