GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo comparar el rendimiento del servidor web con Apache Bench

Si usted es un webmaster, es posible que a menudo le preocupe el rendimiento de sus aplicaciones web. Puede hacer preguntas como "¿cómo realizo una prueba de carga de mi aplicación?" o "¿podrá mi aplicación manejar una gran cantidad de usuarios?" En estos casos, Apache Bench puede ser de gran ayuda. Apache Bench es una herramienta gratuita y de código abierto para medir el rendimiento de un servidor web con una interfaz de línea de comandos simple y fácil de usar; puede ayudarlo a comprender cómo funciona su instalación actual de Apache.

En este tutorial, le mostraremos cómo instalar y usar Apache Bench en Linux.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
  • Se ha configurado una contraseña raíz en su servidor.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar Apache Bench

Apache Bench es parte del paquete del servidor web Apache, por lo que no necesita instalar Apache Bench si el servidor web Apache está instalado en su sistema.

Para el sistema operativo Ubuntu/Debian, instale la herramienta Apache Bench con el siguiente comando:

apt-get install apache2-utils -y

Para el sistema operativo RHEL/CentOS, instale la herramienta Apache Bench con el siguiente comando:

yum install httpd-tools -y

Puede mostrar todas las opciones disponibles con la herramienta Apache Bench usando el siguiente comando:

ab

Debería ver la siguiente pantalla:

A continuación se muestra una breve explicación de las opciones más utilizadas:

  • -n: Especifique el número de solicitudes de conexión enviadas al servidor web.
  • -c: Especifique el número de solicitudes de conexión simultáneas enviadas al servidor web.
  • -t: Especifique la cantidad de segundos que el comando ab debe continuar enviando solicitudes.

Nota: A veces puede obtener un error de "conexión agotada". El motivo de esto es que su solicitud de conexión fue bloqueada por un firewall o que el servidor web Apache no pudo manejar más solicitudes.

Paso 3:ejecución de una prueba de estrés

En este punto, la herramienta Apache Bench está instalada. Ahora, puede realizar una prueba de estrés contra su servidor web localmente o usando el nombre de dominio.

Realicemos una prueba de esfuerzo contra su servidor web Apache enviando 800 solicitudes a través de 300 conexiones simultáneas.

ab -n 800 -c 300 http://your-domain-name/

Esto funcionará para 800 solicitudes con una simultaneidad de 300 como se muestra a continuación:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        Apache/2.4.29
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.459 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8953600 bytes
HTML transferred:       8734400 bytes
Requests per second:    1743.53 [#/sec] (mean)
Time per request:       172.064 [ms] (mean)
Time per request:       0.574 [ms] (mean, across all concurrent requests)
Transfer rate:          19056.29 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6   7.8      0      20
Processing:     8   92 124.3     44     437
Waiting:        4   92 124.4     43     437
Total:         22   98 128.9     44     453
Percentage of the requests served within a certain time (ms)
  50%     44
  66%     50
  75%     53
  80%     56
  90%    435
  95%    445
  98%    450
  99%    452
 100%    453 (longest request)

En el resultado anterior, puede ver que Apache manejó 1743,53 solicitudes por segundo y tardó un total de 0,459 segundos en atender el total de solicitudes.

Realicemos otra prueba de estrés en su servidor web Nginx y compárelo con el resultado de Apache enviando 800 solicitudes en 300 conexiones simultáneas.

ab -n 800 -c 300 http://your-domain-name/

Debería ver el siguiente resultado:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        nginx/1.14.0
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.184 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8930400 bytes
HTML transferred:       8734400 bytes
Requests per second:    4354.95 [#/sec] (mean)
Time per request:       68.887 [ms] (mean)
Time per request:       0.230 [ms] (mean, across all concurrent requests)
Transfer rate:          47474.91 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   12   7.5      9      32
Processing:     5   33  12.8     30      56
Waiting:        4   26  12.9     22      49
Total:         15   46  13.6     46      70
Percentage of the requests served within a certain time (ms)
  50%     46
  66%     56
  75%     58
  80%     60
  90%     64
  95%     66
  98%     70
  99%     70
 100%     70 (longest request)

En el resultado anterior, puede ver que Apache manejó 4354,95 solicitudes por segundo y tardó un total de 0,184 segundos en atender el total de solicitudes.

Puede ver que Nginx puede manejar más solicitudes que Apache. Después de comparar el resultado de ambos servidores, tendrás una idea de cuál elegir para tu aplicación web.

Conclusión

En la guía anterior, aprendimos cómo probar el rendimiento del servidor web con Apache Bench. Ahora puede explorar la herramienta Apache Bench y ejecutarla con diferentes opciones para medir el rendimiento de su servidor web; ¡Pruébelo hoy en VPS Hosting de Atlantic.Net!


Linux
  1. Cómo configurar un servidor web Apache

  2. Cómo configurar varios sitios web con el servidor web Apache

  3. Cómo instalar el servidor web Apache en CentOS 7

  4. Cómo instalar el servidor web Apache en Centos 8

  5. Cómo instalar el servidor web Apache en Ubuntu

Cómo configurar WordPress multisitio con Apache Web Server en Ubuntu

Cómo instalar el servidor web Apache en Debian 11

Cómo instalar el servidor web Apache en Ubuntu 18.04

¿Cómo optimizar el servidor web Apache?

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache

Cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04