Modo de prefork Apache el modo de usuario y el trabajador

  
 

prefork este módulo de procesamiento de modo múltiplex (MPM) implementa un tipo no roscado, el servidor web pre-derivado, funciona de manera similar a Apache 1.3. Es adecuado para sistemas que no tienen bibliotecas seguras para subprocesos y necesitan evitar problemas de compatibilidad de subprocesos. Es a requerir cada solicitud de forma independiente minúsculas mejor MPM, si un problema no afecta a la solicitud de otras solicitudes.

El MPM tiene una fuerte auto-regulación, requiere muy poco ajuste directivas de configuración. El más importante es establecer MaxClients a un valor lo suficientemente grande como para manejar el potencial máximo de la solicitud, aunque no es tan grande que supera el tamaño de memoria requerido de la memoria física.

Modo trabajador Este módulo de multiprocesamiento (MPM) permitir que el servidor de red para apoyar multi-hilo multi-proceso de mezclado. Dado que los subprocesos se utilizan para procesar solicitudes, se pueden procesar solicitudes masivas, mientras que los recursos del sistema son menos costosos que los MPM basados ​​en procesos. Sin embargo, también utiliza múltiples procesos, cada proceso hay múltiples hilos para obtener la estabilidad de la MPM basado en el proceso. El Sitio más importante la instrucción

controlar este MPM es que cada proceso hijo instrucciones de control permiten ThreadsPerChild número de procesos creados, y el número total de hilos permitieron establecer el control de la directiva MaxClients.


trabajador de prefork y cambiar el modo 1. prefork archivo de inicio modo actual renombrar mv httpd httpd.prefork2 renombrar httpd.worker httpd3 modificación de la configuración. El archivo de inicio del modo trabajador mv. Apache El archivo vi /usr/local/apache2/conf/extra/httpd-mpm.conf encuentra la siguiente sección en su interior, y puede modificar la carga y otros parámetros de forma apropiada: iniciar el servicio /usr /apache2 /bin /reinicio locales /apachectl para reemplazar la forma del trabajador a iniciar apache2

en las consideraciones de estabilidad y de seguridad, no recomienda la sustitución del modo de funcionamiento de apache2, se puede utilizar el prefork por defecto del sistema. También una gran cantidad de módulo php no funciona en el modo de trabajo, por ejemplo, viene con PHP RedHat Linux no puede apoyar la seguridad hilo. Así que lo mejor es no cambiar los modos de funcionamiento.

prefork trabajador y el modo de modo de comparación prefork utiliza múltiples procesos hijo, cada proceso hijo sólo un hilo. Cada proceso en un momento determinado sólo puede mantener una conexión. En la mayoría de las plataformas, Prefork MPM trabajador MPM es más alta que en la eficiencia, pero el uso de memoria es mucho mayor. Prefork diseño de procesos inalámbrica y en algunos casos que el trabajador una ventaja: se puede utilizar módulos de terceros que no se ocupan de flujos seguros, y para aquellos difícil enhebrar plataforma de depuración, también es más fácil de depurar algunos.

Modo trabajador utiliza múltiples procesos hijo, cada proceso hijo tiene varios subprocesos. Cada hilo en un momento determinado sólo puede mantener una conexión. En términos generales, el servidor HTTP en un alto tráfico, trabajador MPM es una mejor opción, ya que el uso de la memoria trabajador MPM es mucho menor que Prefork MPM. Pero también trabajador MPM, si un hilo por el colapso de las imperfecciones, todo el proceso será junto con todos sus hilos juntos y " muertos y ". Debido a que los hilos comparten el espacio de memoria, debe ser reconocido por el sistema AS &" un programa en tiempo de ejecución; cada hilo es seguro y ".

En general, la velocidad de modo prefork es ligeramente más alto que el trabajador, pero requiere de los recursos de CPU y memoria son poco más que Woker.

configuración de modo prefork en detalle < IfModule mpm_prefork_module > ServerLimit 256StartServers 5MinSpareServers 5MaxSpareServers 10MaxClients 256MaxRequestsPerChild 0 < /IfModule > ServerLimit predeterminado MaxClient máximo 256 hilos, si se desea establecer un valor más grande, más ServerLimit este parámetros. ServerLimit 20000 es el valor máximo de este parámetro. Si necesita más, debe compilar Apache, después de todo, no hay necesidad de volver a compilar Apache. Entrada en vigor de la premisa: el número de otras instrucciones debe ser colocado en frente de

Cuando se inicia el proceso de establecer StartServers niño servidor especificado, por defecto prefork a 5. El número mínimo de

MinSpareServers proceso hijo especificado de inactividad, el valor predeterminado es 5. Si la corriente es menor que el número de procesos hijo MinSpareServers de inactividad, a continuación, una segunda velocidad máxima Apache va a producir un nuevo proceso hijo. Este parámetro no es demasiado alto.

MaxSpareServers establecer el número máximo de procesos hijo en espera, el valor predeterminado es 10. Si actualmente tiene más que el número de procesos hijo MaxSpareServers de inactividad, entonces el proceso padre matará al hijo no deseado. Este parámetro no es demasiado alto. Si ordenas valor es menor que el ajuste MinSpareServers, Apache automáticamente será modificado a " MinSpareServers + 1 ′. Número (el número de hilos concurrentes solo proceso)

MaxClients mismo tiempo definen la solicitud de máximo acceso de cliente, el valor predeterminado es 256. Cualquier solicitud más que el límite MaxClients voy a entrar en la cola de espera, una vez que se libera un enlace, serán atendidos las peticiones en la cola. Para aumentar este valor, debe aumentar ServerLimit simultáneamente. El máximo

MaxRequestsPerChild cada proceso hijo permite que el servo en su número curso de la vida de solicitudes, el valor predeterminado es 10000. Después de alcanzar el límite MaxRequestsPerChild, el proceso hijo terminará. Si es MaxRequestsPerChild y " 0 ″, proceso hijo no tendrá fin. El MaxRequestsPerChild establecido en un valor distinto de cero tiene dos ventajas: 1 puede prevenir (accidental) para la pérdida de memoria ilimitada a quedarse sin memoria. 2. Dar al proceso de una vida limitada, lo que ayuda a reducir la carga del servidor cuando el tiempo para reducir el número de procesos activos.

Detalles de la configuración del modo de trabajador < IfModule mpm_worker_module > Máximo

MaxClients servo permitirá número de solicitud de acceso simultáneo (número máximo de hilos). Cualquier solicitud más que el límite MaxClients voy a entrar en la cola de espera. El valor predeterminado es y " 400 ″, 16 (ServerLimit) multiplicado por 25 (ThreadsPerChild) a. Por lo tanto, para aumentar MaxClients, también debe aumentar el valor de ServerLimit.

MinSpareThreads número mínimo de hebras en espera, el valor predeterminado es y " 75 ″. El número de hebras en espera de que MPM de vigilancia conforme a todo el servidor. Si el número total de hebras en espera del servidor es demasiado pequeño, el proceso hijo producirá una nueva subprocesos inactivos.

MaxSpareThreads establecer el número máximo de hebras en espera. El valor por defecto es y " 250 ″. El número de hebras en espera de que MPM de vigilancia conforme a todo el servidor. Si el número total de hebras en espera del servidor demasiado, el proceso hijo matará las hebras en espera en exceso. MaxSpareThreads la gama es limitada. Apache se ajustará automáticamente el valor de corrección de acuerdo con las siguientes restricciones: Trabajador que requiere no menos de más ThreadsPerChild y MinSpareThreads.

el número de hilos de ejecución permanentes por proceso hijo ThreadsPerChild establecido. El valor por defecto es 25. Después de que el proceso hijo para establecer estos hilos en el arranque ya no construir un nuevo hilo.

Configuración de MaxRequestsPerChild en cada proceso hijo en su curso de la vida del servo permiten que el número máximo de solicitudes. Después de alcanzar el límite de MaxRequestsPerChild, el proceso hijo va a terminar. Si es MaxRequestsPerChild y " 0 ″, proceso hijo no tendrá fin. El MaxRequestsPerChild establecido en un valor distinto de cero tiene dos ventajas: 1 puede prevenir (accidental) para la pérdida de memoria ilimitada a quedarse sin memoria. 2. Dar al proceso de una vida limitada, lo que ayuda a reducir la carga del servidor cuando el tiempo para reducir el número de procesos activos. Nota Para enlace KeepAlive, solo se contabilizará la primera solicitud. De hecho, se cambia cada límite de sub-proceso en el número máximo de comportamiento enlaces.

Copyright © Conocimiento de Windows All Rights Reserved