Cómo realizar pruebas de carga en tus sitios web usando Apache Bench

¿Qué tan bien están funcionando tus sitios web? Es posible que abras un navegador web, los cargues y verifiques que estén funcionando, pero ¿realmente te tomas el tiempo para realizar pruebas de carga en esos sitios para verificar si cumplen con los altos estándares de rendimiento que tu negocio (o tus clientes) requieren? Si no sabes la respuesta a esa pregunta, es hora de comenzar a hacer pruebas de carga en los sitios web que desarrollas o administras.

Cómo realizar pruebas de carga en tus sitios web usando Apache Bench - Desarrollo | Imagen 1 Newsmatic

Antes de pensar que esto es difícil o que requerirá pagar por un servicio de terceros, piensa de nuevo. Hay muchas herramientas que te ayudarán a realizar este trabajo, muchas de ellas de código abierto y gratuitas. Una de esas herramientas de código abierto es Apache Bench.

Apache Bench es capaz de realizar pruebas de carga no solo en el servidor web Apache, sino también en cualquier servidor HTTP o incluso una API (interfaz de programación de aplicaciones) que se pueda probar con esta herramienta.

Quiero mostrarte cómo instalar Apache Bench y cómo usarlo para realizar pruebas de carga en un sitio web. Lo demostraré en Ubuntu 22.04, pero se puede instalar en casi cualquier distribución de Linux. Ten en cuenta que Apache Bench es una herramienta de línea de comandos, pero en realidad es bastante sencilla de usar.

Dicho esto, pongámonos manos a la obra.

Python encabeza una vez más la lista de los principales lenguajes de programación del IEEE para 2022
Índice de Contenido
  1. Lo que necesitarás
  2. Cómo instalar Apache Bench
  3. Cómo realizar pruebas de carga con Apache Bench

Lo que necesitarás

Para seguir los pasos, necesitarás una instancia en ejecución de Ubuntu Linux. Puede ser tanto Ubuntu Server como Ubuntu Desktop y puede ser de cualquier versión. También necesitarás un usuario con privilegios sudo y un sitio web para probar.

Cómo instalar Apache Bench

Lo primero que debemos hacer es instalar Apache Bench. Inicia sesión en tu instancia de Ubuntu Linux, abre una ventana de terminal y ejecuta el siguiente comando:

sudo apt-get install apache2-utils -y

En caso de que estés utilizando una distribución basada en RHEL, como Fedora Linux, ese comando sería:

sudo dnf install httpd-tools -y

La instalación debería completarse sin problemas. Una vez que finalice, estás listo para realizar pruebas de carga en un sitio web.

Por qué los programadores de COBOL deberían aprender sobre la nube

Cómo realizar pruebas de carga con Apache Bench

El comando de Apache Bench requiere algunas opciones para ejecutarse. Las opciones más utilizadas incluyen:

  • -n: El número de solicitudes.
  • -c: El número de solicitudes simultáneas.
  • -H: Agregar encabezado.
  • -r: No salir en caso de errores de recepción de socket.
  • -k: Utilizar la característica HTTP KeepAlive.
  • -p: Archivo que contiene los datos a enviar mediante POST.
  • -t: El tiempo máximo para realizar la prueba de referencia.
  • -T: Encabezado de tipo de contenido que se usará para enviar datos POST/PUT.

Una prueba sencilla se vería así:

ab -n 1000 -c 100 http://SERVIDOR/

Donde SERVIDOR es el dominio o la dirección IP del servidor.

Se requiere la barra diagonal final, o la prueba de ab fallará. Digamos que tienes un sitio web de desarrollo que estás probando actualmente en la dirección IP 192.168.1.11, y quieres ejecutar una prueba de carga simple con ab. Ese comando sería:

ab -n 1000 -c 100 http://192.168.1.11/

Cómo instalar Webmin 2.0 en Ubuntu Server 22.04: Guía paso a paso

Los resultados de ese comando podrían verse así:

HTML transferido:   10918000 bytes

Peticiones por segundo: 292.16 [#/seg] (promedio)

Tiempo por solicitud:   342.282 [ms] (promedio)

Tiempo por solicitud:   3.423 [ms] (promedio, en todas las solicitudes simultáneas)

Tasa de transferencia:      3193.18 [Kbytes/seg] recibidos

Cómo usar el comando chkdsk para reparar un disco duro en Windows 11

Tiempos de conexión (ms)

           mínimo  promedio[+/-sd] mediana   máximo

Conexión:    8   30  16.6 29 274

Procesamiento: 19  301 106.9 268 734

Espera:    4  299 106.6 267 732

Total:     27  330 108.0 297 770

Cómo programar actualizaciones de software con Webmin

Porcentaje de solicitudes atendidas en un tiempo determinado (ms)

  50% 297

  66% 312

  75% 322

  80% 329

  90% 544

Por qué el enfoque móvil primero tiene sentido en el panorama digital actual

  95% 635

  98% 718

  99% 747

 100% 770 (solicitud más larga)

La mayoría de la salida es bastante autodescriptiva. La mitad inferior puede requerir un poco de comprensión. En la salida que ves arriba, el 50% de las solicitudes tardaron 297 ms, el 66% de las solicitudes tardaron 312 ms o menos, y así sucesivamente. Algo claramente no está bien con este sitio, ya que los tiempos de respuesta deberían ser más rápidos.

O, digamos que tienes un sitio específico en un puerto específico que deseas probar. Ese comando podría verse así:

Cómo desplegar Portainer en un clúster de Kubernetes en minutos

ab -n 1000 -c 100 http://192.168.1.11:9443/

Si también quieres agregar los encabezados gzip y deflate, así como agregar KeepAlive y asegurarte de que el comando no salga en caso de un error de recepción de socket, ese comando podría verse así:

ab -n 1000 -c 100 -H "Accept-Encoding: gzip, deflate" -rk http://192.168.1.11/

De repente, podrías ver una salida que incluye algo como esto:

Solicitudes fallidas:    27

   (Conexión: 0, Recepción: 0, Longitud: 27, Excepciones: 0)

Instalación fácil: Gitea en Ubuntu Server 22.04Instalación fácil: Gitea en Ubuntu Server 22.04

Golpéalo un poco más fuerte y limita el tiempo para realizar la prueba de referencia con un comando como este:

ab -t 60 -n 10000 -c 100 http://192.168.1.11/

Esto llevará un poco más de tiempo porque estamos enviando 10.000 solicitudes y 100 solicitudes simultáneas.

Y eso es prácticamente todo lo que necesitas para realizar pruebas de carga en tus servidores web desde la línea de comandos. Para obtener más información sobre lo que puede hacer el comando ab, asegúrate de leer la página de manual con el comando man ab.

Suscríbete a How To Make Tech Work de Newsmatic en YouTube para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Conviértete en un experto en Linux con los recursos de Newsmatic Academy:

Aprende a desarrollar juegos sin gastar un céntimo
  • The Mastering Linux Development Bundle
  • The Linux & Docker Coding Bundle
  • The Complete 2022 Linux Certification Training Bundle
  • The Mastering Linux and Git Certification Bundle

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo realizar pruebas de carga en tus sitios web usando Apache Bench , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.