Vamos a darte una analogía – un restaurante (Magento) de comida rápida.
El elenco
El cliente (en el drive-through), es el cliente en tu tienda web. El cocinero (que se sienta en una silla y te entrega la bolsa de comida a través de la ventana – Servidor Web) El cocinero (que prepara las comidas – PHP) El sub cocinero (que prepara los ingredientes para las comidas – sub sistema del servidor).
El reto
La comida promedio toma 2 minutos en ser preparada, 12 minutos para cocinarse y 5 segundos para se entregada al cliente.
Ahora, vamos a tomar la percepción de Apache (un asistente con sobrepeso, inoportuno, en la ventana), la cocina tarda 14 minutos para hacer la comida, entregársela a él – entonces él la pasa hacia ti. Él está pasando solamente 1 bolsa, cada 14 minutos, un trabajo bastante fácil.
Vamos a mejorar el rendimiento
Queremos que el negocio corra más rápido – así que despediremos a Apache y lo reemplazaremos con Nginx.
La cocina toma 14 minutos para preparar una comida y Nginx entrega la bolsa de comida a un ritmo más ligero.
Pero espera, todavía ha tomado 14 minutos para que el cliente obtenga su comida – aunque tengamos el personal de entrega más rápido disponible.
Eso es porque nunca fue la persona que te entregó la comida el cuello de botella; De hecho – la persona “lenta” tenia un valor agregado ya que hablaba el idioma nativo del personal de la cocina y podia pedir ordenes fácilmente (soporte de .htaccess). Mientras que Ngnix habla ruso y requiere un traductor para detener su trabajo y decirles nuevas ordenes (edit Nginx config, reload etc.).
La conclusión
Nginx no mejorará el rendimiento de Apache para Magento, se ha demostrado en repetidas ocasiones en las pruebas de benchmark y la razón es que PHP (el chef) es el cuello de botella.
Nginx / Apache son los hombres delanteros – y en el caso de Magento, no son más que herramientas de marketing. Es fácil mostrar lo rápido que Nginx / Lighttpd / Litespeed sobre Apache en términos de reqs / s.
En un servidor determinado (2.5GHz QC / 8GB RAM), Apache es bueno para alrededor de 12k peticiones por segundo, Nginx puede superar esto con relativa facilidad – golpear alrededor de 16k solicitudes por segundo – pero esto es para contenido estático. Cuando empiezas a golpear 12 mil solicitudes por segundo – entonces es hora de considerar la posibilidad de descargar Apache, pero hasta entonces, se llevará a cabo par-for-par con cualquier otra cosa.
Nuestro consejo
Si estás construyendo un CDN, Nginx es una gran opción Si desea un proxy de archivo estático, Nginx es una gran opción.
Si quieres un servidor web flexible y de alto rendimiento para Magento, Apache es una opción tan buena como Nginx, ya que al final del día, PHP (el chef) te está frenando, no el servidor web, nunca el servidor web.