Comparación de rendimiento del servidor web

 

Generalidades

Este artículo examina el rendimiento relativo de los servidores web Apache y Nginx para ver cómo se comparan.

Por favor ten en cuenta que los siguientes resultados solo deben utilizarse para medir el rendimiento relativo (y no absoluto), ya que las pruebas se realizaron localmente en el servidor bajo condiciones comunes.

Apache y Nginx

  • Apache es uno de los servidores web más antiguos y todavía se utiliza ampliamente hoy en día. Sin embargo, se implementó con un mecanismo de escalado que puede ser relativamente ineficiente en algunos aspectos.
  • Nginx es un servidor web más reciente que se creó para abordar algunas de las deficiencias de Apache.

Tanto Apache como Nginx están disponibles preconfigurados en las plataformas de Alojamiento VPS y Dedicado.

Método de prueba

El método para probar estos servidores web usa ApacheBench (una herramienta de evaluación comparativa del servidor HTTP).

  • Cada prueba se realiza localmente desde un VPS para eliminar las condiciones de red potencialmente variables de la ecuación.
  • En cada prueba, se realizan 25,000 solicitudes de un archivo PNG de 5k
  • Antes de cada prueba, el servidor web se reiniciaba para eliminar cualquier posible almacenamiento en caché u otros problemas que pudieran interferir con los resultados.
  • Cada prueba se ejecutó con diferentes números de solicitudes concurrentes para medir el rendimiento en diferentes niveles de uso.

El comando de prueba

El siguiente formato se usa para probar donde la bandera the -c incrementa el nivel de concurrencia.

[server]$ ab -n 25000 -c 50 https://www.example.com/dreamhost_logo.png

Comparación de uso de memoria

Como puedes ver, Nginx es el claro lider de esta prueba.

Webserver memory graph

La diferencia tiene que ver con cómo Apache maneja la escalabilidad con más solicitudes entrantes. Para manejar solicitudes adicionales, genera nuevos procesos.

  • A medida que ingresan más conexiones, se generan más procesos de Apache para manejarlas. Esto hace que el uso de memoria crezca bastante rápido.
  • En comparación, el uso de memoria de Nginx es casi estático.

Comparación de solicitudes por segundo

Esta es una medida de qué tan rápido el servidor puede recibir y atender solicitudes a diferentes niveles de concurrencia. Cuantas más solicitudes por segundo pueda manejar el servidor, mejor podrá gestionar grandes cantidades de tráfico. Una vez más, Nginx es claramente superior en la cantidad bruta de solicitudes por segundo que puede atender.

Webserver requests graph

¿Qué servidor debería usar?

Tu elección de servidor depende de los requisitos de tu sitio web.

  • Apache es compatible con una gama más amplia de herramientas y probablemente sea el más compatible con la mayoría de los sitios web.
  • Nginx puede ser una buena opción si tu sitio web recibe muchas visitas concurrentes, ya que mejora el uso de memoria y el rendimiento general.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?