From: Daniel Ferradal
Este documento describe que es un Módulo de Multiprocesamiento y como los usa Apache.
Introducción
Cómo Elegir un MPM
MPM por defecto
Compilando un MPM como módulo estático
Compilando un MPM como módulo DSOApache está diseñado para ser un servidor web potente +
El servidor Apache HTTPD está diseñado para ser un servidor web potente y flexible que pueda funcionar en la más amplia variedad de plataformas y entornos. Las diferentes plataformas y los diferentes entornos, hacen que a menudo sean necesarias diferentes caracterÃsticas o funcionalidades, o que una misma caracterÃstica o funcionalidad sea implementada de diferente - manera para obtener una mayor eficiencia. Apache se ha adaptado + manera para obtener una mayor eficiencia. Apache httpd se ha adaptado siempre a una gran variedad de entornos a través de su - diseño modular. Este diseño permite a los - administradores de sitios web elegir que caracterÃsticas van - a ser incluidas en el servidor seleccionando que módulos se - van a cargar, ya sea al compilar o al ejecutar el servidor.
+ diseño modular. Este diseño permite a los administradores de sitios web + elegir que caracterÃsticas van a ser incluidas en el servidor seleccionando + que módulos se van a cargar, ya sea al compilar o al ejecutar el servidor. -Apache 2.0 extiende este diseño modular hasta las +
El servidor Apache HTTP 2.0 extiende este diseño modular hasta las funciones más básicas de un servidor web. El servidor viene con una serie de Módulos de MultiProcesamiento que son responsables de conectar con los puertos de red de la @@ -72,22 +68,21 @@ como los usa Apache.
servidor ofrece dos beneficios importantes:mpm_winnt
puede usar funcionalidades nativas de red en lugar de usar la
- capa POSIX como hace Apache 1.3. Este beneficio se extiende
+ capa POSIX como hace Apache HTTPD 1.3. Este beneficio se extiende
también a otros sistemas operativos que implementan sus
- respectivos MPMs.worker, mientras que los sitios web que
+ más que nada escalibildad pueden usar un MPM multihilo como
+ worker o event, mientras que los sitios web que
requieran por encima de otras cosas estabilidad o compatibilidad
- con software antiguo pueden usar
- prefork.
+ con software antiguo pueden usar prefork.
Los MPMs deben elegirse durante el proceso de - configuración, y deben ser compilados en el servidor. Los - compiladores son capaces de optimizar muchas funciones si se usan - hebras, pero solo si se sabe que se están usando hebras. Como - algunos MPM usan hebras en Unix y otros no, Apache tendrá un - mejor rendimiento si el MPM es elegido en el momento de compilar y - está incorporado en el servidor.
- -Para elegir el MPM deseado, use el argumento --with-mpm= - NAME con el script ./configure. NAME es el - nombre del MPM deseado.
- -Una vez que el servidor ha sido compilado, es posible
- determinar que MPM ha sido elegido usando ./httpd
- -l. Este comando lista todos los módulos compilados en
- el servidor, incluido en MPM.
En la siguiente tabla se muestran los MPMs por defecto para varios @@ -132,6 +107,76 @@ especifica lo contrario al compilar.
preforkmpm_winntAquÃ, 'Unix' indicaba sistemas operativos tipo Unix, tales como +Linux, BSD, Solares, Mac OS X, etc.
En el caso de Unix, la decisiónd e qué MPM se debe instalar se basa +en dos preguntas:
+1. ¿El sistema soporta hilos?
+2. ¿El sistema soporta thread-safe polling (Especificamente, las funciones +kqueue y epoll)?
+ +Si la respuesta a ambas preguntas es 'si', el MPM por defecto es
+event.
Si la respuesta a #1 es 'si', pero la respues a #2 es 'no', el módulo por
+defecto será worker.
Si la respuesta a ambas preguntas es 'no', entonces el MPM por defecto
+será prefork.
En términos prácticos, esto significa que el valor por defecto casi siempre
+será event, puesto que todos los sistemas operativos modernos
+soportan estas dos caracterÃsticas.
Los MPMs pueden ser compilados como módulos estáticos en todas las plataformas. + Un solo MPM es elegido en tiempo de compilación y se enlaza al servidor. El servidor + debe ser recompilado para cambiar el MPM.
+ +Para anular la elección por defecto de MPM, usar la opción
+ --with-mpm=NOMBRE del script
+ configure. NOMBRE es el nombre del MPM deseado.
Una vez el servidor ha sido compilado, es posible determinar qué MPM fue elegido usando
+ ./httpd -l. Este comando listará cada módulo compilado en el servidor
+ incluyendo el MPM.
En Unix y plataformas similares, MPMs se pueden compilar como módulos
+ DSO y ser cargados dinámicamente en el servidor de la misma forma que otros
+ módulos DSO. Compilar MPMs como módulos DSO permite cambiar de MPM actualizando
+ la directiva LoadModule
+ para el MPM en lugar de tener que recompilar el servidor.
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so+ + +
Intentar usar LoadModule
+ con más de un MPM dará como un fallo con el siguiente error.
AH00534: httpd: Configuration error: More than one MPM
+ loaded.
Esta caracterÃsticas se habilita con la opción
+ --enable-mpms-shared del script configure.
+ Con el parámetro all, se instalaran todos los MPMs posibles
+ en la plataforma. Alternativamente, se puede especificar una lista de MPMs
+ como parámetro.
El MPM por defecto, bien seleccionado automáticamente o especificado con la
+ opción --with-mpm del script configure
+ script, se cargaran en el fichero de configuración del servidor generado.
+ Editar la directiva LoadModule para seleccionar
+ un MPM diferente.
Idiomas disponibles: de | diff --git a/docs/manual/mpm.xml.es b/docs/manual/mpm.xml.es index 36faf228c2..3ce77917e1 100644 --- a/docs/manual/mpm.xml.es +++ b/docs/manual/mpm.xml.es @@ -1,7 +1,8 @@ - + +