Descripción general de Apache, características y procesamiento de solicitudes

Descripción general de Apache, características y procesamiento de solicitudes. Apache es el componente de servidor web de la popular pila LAMP (Linux, Apache, MySQL, PHP). Aunque hay muchos otros componentes de la pila web en la actualidad (p. Ej., NodeJS, frameworks JS de clientes ricos, varios servicios en la nube, etc.), LAMP sigue siendo muy popular.

El servidor web Apache tiene un amplio conjunto de características que se pueden habilitar a través de la instalación de uno de los aproximadamente 60 módulos oficiales o uno de los muchos otros módulos no oficiales que también existen.

A lo largo de los años, Apache ha desarrollado varios métodos para procesar solicitudes web para mejorar su eficiencia (principalmente el uso de RAM y la latencia). En un mundo en el que los sitios tenían que manejar cada vez más solicitudes web simultáneas, y donde el tamaño de las páginas servidas era mucho más grande, estas nuevas metodologías eran necesarias.

La metodología de procesamiento de solicitudes de Apache se puede configurar de una de tres maneras. A continuación, desglosaré los tres módulos principales de multiprocesamiento (MPM):

  • modelo de proceso : este es el método original de «pre-fork»; no se escala bien con muchas conexiones concurrentes, ya que consume una gran cantidad de RAM y puede incluso rechazar las conexiones con cargas elevadas. Los sitios más pequeños no notarán esto, pero los sitios más grandes probablemente lo notarán.
  • modelo de trabajador : esto crea un proceso de control único que es responsable de lanzar procesos secundarios. Cada proceso hijo crea un número fijo de subprocesos, así como un subproceso de escucha. El hilo de escucha escucha las conexiones y las pasa a un hilo para procesarse cuando llegan. Aunque este modelo se escala mucho mejor que el método anterior a la bifurcación, todavía puede tener problemas de escala para sitios con mucho tráfico, debido al único cuello de botella del proceso de control.
  • modelo de evento : es similar al modelo de trabajador, pero crea un hilo de escucha que escucha las conexiones y las pasa a un hilo de trabajador para su procesamiento. Este MPM maneja las conexiones de larga duración de manera mucho más eficiente en un solo hilo (manejo KeepAlive). Desde Apache 2.4, el modelo de evento se ha considerado estable y ahora también es la configuración predeterminada si el sistema operativo puede admitirlo.
    También puede probar las opciones de tiempo de compilación y tiempo de ejecución para mejorar el rendimiento de Apache.

Leer también:Adición de encabezados de control de caché en Apache; caducidad; Protección contra XSS desde Apache web server; Desactivar la firma del servidor, versión de Apache

This post is also available in: Español