Instalación de Apache bench para pruebas de rendimiento o test de carga
Apache bench es una herramienta de líneas de comando para pruebas de rendimiento o carga de servidores web.
Permite simular un gran número de solicitudes http concurrentes a una Url para medir cuántas solicitudes por segundo puede procesar un servidor y evaluar su rendimiento.
Funcionalidades.
Simula carga: envía un número especificado de solicitudes a un servidor para simular tráfico.
Mide rendimiento: muestra métrica clave como el número de solicitudes por segundo, el tiempo de respuesta y las tasas de error.
Identifica cuellos de botella: ayuda a identificar posibles cuellos de botella y problemas de rendimiento en un sitio web.
Importante:
Se utiliza por línea de comando: es una herramienta sencilla de usar desde la terminal.
Tiene bajo consumo de recursos por lo que requiere una cantidad mínima para ejecutarse
Múltiples instancias: se puede ejecutar varias instancias de Apache bench simultáneamente para saturar un servidor.
Instalación:
En Linux (debían/Ubuntu/centOS) : actualiza la lista de paquetes con el comando
Debían/ubuntu#sudo apt update
centOS#sudo yum update
2. instala las apache2-utils (que incluye ab)
Debían/Ubuntu
# sudo apt install apache2-utils
Para CentOS
Instala las httpd-tools
#sudo yum install httpd-tools

aceptamos escribiendo (Y)

finaliza la instalación.
Luego podemos ejecutar nuestra prueba de estrés o carga en nuestro servidor:
Comando a utilizar:
ab –n 1000 –c 100 http://dominio.cl/.
-n: Número de solicitudes a realizar para la sesión de evaluación comparativa.
-c: Número de solicitudes múltiples a realizar a la vez.
Este comando creara 1000 conexiones a su servidor con un nivel de concurrencia de 100 conexiones simultáneamente.
#Ab –n 100 -c 10 192.168.X.X/ (IP de tu servidor)
Ejemplo
En esta prueba ejecutamos el comando # ab +IPservidor/ el cual no indicara los detalles entregados en la lista mas abajo.

1-Software del servidor: devuelve el encabezado HTTP con el nombre del servidor web.
2-Nombre de host del servidor: devuelve la dirección DNS o IP proporcionada en el comando.
3- Puerto del servidor: el puerto de conexión que utiliza ab; el comando ab tiene como valor predeterminado el puerto 80 para http y el puerto 443 para HTTPS.
4-Ruta del documento: esta es la URL de solicitud analizada desde la cadena de la línea de comando.
5-Longitud del documento: el tamaño en bytes del primer documento devuelto correctamente.
6-Nivel de concurrencia: la cantidad de clientes simultáneos utilizados durante la prueba.
7-Tiempo necesario para las pruebas: Tiempo total que lleva realizar la prueba.
8-Solicitudes completadas : Número total de respuestas exitosas recibidas.
9-Solicitudes fallidas: Número total de solicitudes fallidas.
10-Total transferido: Número total de bytes recibidos desde el servidor web.
11-HTML transferido: Número total de bytes del documento recibidos desde el servidor.
12-Solicitudes por segundo: Número total de solicitudes por segundo.
13-Tiempo por solicitud: es el tiempo promedio empleado por solicitud.
14-Tasa de transferencia: La tasa de transferencia calculada utilizando la fórmula totalread/1024/ timetaken.
test real :
Luego ejecutaremos el comando
ab -n 1000 -c 1000 http://192.168.X.X/. (IP de tu servidor)
Este es un servidor de pruebas por lo cual los resultados no serán los mismos que en un servidor operativo o en producción.

Segunda prueba con el comando
#ab -n 1000 -c 100 http://192.168.X.X/. (IP de tu servidor)

El comando para validar el sitio web es:
Ab –n 1000 –c 100 http://dominio/.
Este comando nos indicara el rendimiento real del sitio web tal como lo ven los usuarios.
En esta imagen podemos ver los resultados de la prueba, vemos la solicitudes que son 1000 mas el numero de concurrencia que es 100 ,el tiempo de respuesta total y el tiempo de respuesta por solicitud.
Con estas pruebas podemos determinar si nuestro servidor o sitio web soportan cargas extremas.