Principales Ventajas de Apache
Principales Ventajas de Apache
Principales ventajas de
Apache
Soporte para HTTP 1.1: esta versión de HTTP permite a un browser mandar
varias peticiones en paralelo a un servidor. Esta versión también está soportada
por IIS y además hay que tener en cuenta lo siguiente:
o No se transmiten todas las cabeceras en cada una de las peticiones.
o Con HTTP 1.0, un browser debía esperar por la respuesta del servidor a
una petición antes de mandar otra.
o HTTP 1.1 supone pues una ventaja de rendimiento, tanto por la
economización a la hora de mandar información como por el hecho de no
tener que soportar tantas esperas.
Estas son algunas de las principales características del servidor web Apache que
los convierte en un servidor web robusto, seguro y altamente configurable.
5.3. Arquitect
ura
La versión 2.x hace a Apache más flexible, más portable y más escalable. En
esta sección se detallará solamente los aspectos de dos de las más importantes, ya que
en la sección anterior se han mencionado las principales características y
novedades:
Módulos de Multiprocesamiento.
Filtrado de E/S.
Módulos de Multiprocesamiento
(MPM)
Los MPM son uno de los mayores cambios de las versiones 2.X respecto a las
anteriores. Básicamente son formas de procesar las peticiones que Apache
puede usar, y normalmente suele elegirse la más ventajosa teniendo en cuenta el
sistema operativo donde Apache está funcionando u otros factores de las aplicaciones
web que van a funcionar sobre este servidor. A continuación, se describen brevemente
los MPM disponibles hasta el momento y sus características.
Apache versión 1.x usaba únicamente una arquitectura preforking para atender
las peticiones. Ésta consistía en que un proceso padre hacia fork para generar un
conjunto de procesos hijos, que eran los que finalmente servían las peticiones. El
proceso padre monitorizaba a sus hijos y creaba más, o los destruía, basándose en
la cantidad de peticiones que recibía, regulando así la carga de trabajo en función
del número de peticiones recibido en un momento dado. No obstante, este modelo
tenía el inconveniente de que no funcionaba adecuadamente (por su bajo
rendimiento) en algunas plataformas. Una de ellas era Windows, al no tener
implementado nativamente este modelo de procesos. Por ese motivo, se creó el
concepto de MPM, que está destinado a solventar este problema.
Por tanto, cada MPM es responsable de arrancar procesos del servidor y de servir
peticiones usando procesos hijos o threads, según su implementación. A
continuación se citan algunos de los MPM más importantes disponibles:
Por otro lado, el número de procesos es estático y cada uno puede ejecutarse
usando un ID de usuario y grupo distinto. Esto permite ejecutar varios sitios web
virtuales bajo distintas identidades de forma segura.
El MPM WinNT. Este MPM es especial para la plataforma Windows (NT, 2000,
2003, 2008,...). Es un módulo multihilo donde Apache creará un proceso padre
y uno hijo, que es el encargado de crear todos los hilos que sirven las
peticiones. Además, este modelo usa algunas funciones nativas de Windows,
aumentando el rendimiento de Apache sobre esta plataforma.
El MPM event. Este MPM es una variante del MPM worker, y ha sido diseñado
para servir más peticiones simultáneas. Su funcionamiento se basa en pasar
una porción determinada del procesamiento de una petición a hilos de soporte
secundarios que se encargarán de tratarla. Esto permite liberar los threads
principales para que acepten nuevas peticiones, ya que ellos delegan el volumen
principal del procesamiento en entidades de proceso auxiliares. La configuración
de este MPM es idéntica a la del MPM en el que se basa.