Servidores web basados en procesos vs web server por eventos

Servidores web basados en procesos vs web server por eventos.La idea es enriquecer lo expresado en nuestro otro post titulado Litespeed vs Apache y llevar la discusión a un nivel más profundo si fuere posible.

Comparación

La diferencia radical entre estas dos tecnologías radica en la arquitectura y la forma en que manejan las conexiones. LiteSpeed Web Server se enfoca en eventos mientras que Apache lo hace en procesos o hilos.

Opción 1

Servidores web basados en procesos vs web server por eventos-Apache-Blog HostDime Apache por cada conexión crea un hilo, derrochando recursos, sobrecargando la CPU, la memoria RAM; la carga de su servidor comienza a aumentar y muchos usuarios de su sitio deciden que no pueden esperar y se van. El consumo aumenta de forma exponencial. Hay bloqueos de E/S cuando el proceso está en espera de completarse para liberar los recursos respectivos.

Opción 2

Servidores web basados en procesos vs web server por eventos-Litespeed -Blog HostDimeLitespeed por su parte sirve todas las conexiones en unos pocos procesos, ahorrando recursos. Es capaz por tanto de mantener mayor número de conexiones, a una velocidad mucho más alta, sin necesidad de actualizar su hardware. Los procesos se mantienen abiertos y las respuestas dinámicas también. Funciona de manera asíncrona (los hilos se pueden manejar de forma simultánea), no bloqueante y de un solo subproceso.

Para el contenido estático, como puede ser el html, css o las mismas imágenes, un único proceso se encarga de gestionarlo. Para las aplicaciones web como Php y los procesos de bases de datos, presenta mayor cantidad de solicitudes para tenerlas listas como contenido estático. Al reutilizar procesos y no tener que abrir nuevos, maximiza el software y el hardware disponible.El consumo puede aumentar de forma aritmética o lineal. El procesamiento de eventos se beneficia del procesamiento multinúcleo nativo de las arquitecturas de hardware modernas.

Servidores-web-basados-en-procesos-vs-web-server-por-eventos-2El problema de la escalabilidad del servidor web se puede resolver aumentando las capacidades de hardware o mejorando la arquitectura del servidor web. Nuestra solución va por este último derrotero.

Y eso sin mencionar los posibles módulos de caché, que, en el caso de WordPress o Magento, hacen una diferencia notable, triplicando la cantidad de request por segundo que el server es capaz de soportar. Y eso no es todo, el tiempo para realizar una transacción también varía drásticamente.

 

 

Leer también: Servidores para WordPress, Joomla, Magento, alto rendimiento