1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>worker - Servidor HTTP Apache</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p>
16 <p class="apache">Versión 2.0 del Servidor HTTP Apache</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.0</a> > <a href="./">Módulos</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>MPM de Apache worker</h1>
24 <p><span>Idiomas disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
25 <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
26 <a href="../es/mod/worker.html" title="Español"> es </a> |
27 <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
28 <a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
30 <div class="outofdate">Esta traducción podría estar
31 obsoleta. Consulte la versión en inglés de la
32 documentación para comprobar si se han producido cambios
34 <table class="module"><tr><th><a href="module-dict.html#Description">Descripción:</a></th><td>Módulo de MultiProcesamiento que implementa un
35 servidor web híbrido multihebra-multiproceso</td></tr>
36 <tr><th><a href="module-dict.html#Status">Estado:</a></th><td>MPM</td></tr>
37 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificador de Módulos:</a></th><td>mpm_worker_module</td></tr>
38 <tr><th><a href="module-dict.html#SourceFile">Fichero de Código Fuente:</a></th><td>worker.c</td></tr></table>
39 <h3>Resumen de contenidos</h3>
41 <p>Este Módulo de MultiProcesamiento (MPM) implementa un
42 servidor híbrido multiproceso-multihebra. Usando hebras para
43 atender peticiones, el servidor puede servir un mayor número
44 de peticiones con menos recursos de sistema que un servidor basado
45 únicamente en procesos. No obtante, se mantiene casi por
46 completo la estabilidad de un servidor basado en procesos
47 manteniendo la capacidad multiproceso, pudiendo cada proceso tener
50 <p>Las directivas más importantes que se usan para controlar
51 este MPM son <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, que controla el
52 número de hebras que tiene cada proceso hijo y <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>, que controla el
53 número máximo de hebras que pueden crearse.</p>
55 <div id="quickview"><h3 class="directives">Directivas</h3>
57 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
58 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
59 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
60 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li>
61 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
62 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
63 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li>
64 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
65 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
66 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
67 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
68 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
69 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
70 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
71 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
72 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
73 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
74 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
75 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
76 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Cómo funciona</a></li>
81 </ul><h3>Consulte también</h3>
83 <li><a href="../bind.html">Especificar las direcciones y los
84 puertos que usa Apache</a></li>
86 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
88 <h2><a name="how-it-works" id="how-it-works">Cómo funciona</a></h2> <p>Un
89 solo proceso de control (el padre) es el responsable de crear los
90 procesos hijo. Cada proceso hijo crea un número fijo de
91 hebras del servidor de la forma que se especifica en la directiva
92 <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>,
93 así como una hebra de escucha que escuchará si se
94 producen peticiones y las pasará a una hebra del servidor
95 para que la procese.</p>
97 <p>Apache siempre intenta mantener en reserva cierto número
98 de hebras <dfn>de sobra</dfn> o en espera, que están
99 preparadas para servir peticiones en el momento en que
100 lleguen. Así, los clientes no tienen que esperar a que se
101 creen nuevas hebras o procesos para que sean atendidas sus
102 peticiones. El número de procesos que se crean al principio
103 está determinado por la directiva <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>. Después durante
104 el funcionamiento del servidor, Apache calcula el número
105 total de hebras en espera entre todos los procesos, y crea o
106 elimina procesos para mantener ese número dentro de los
107 límites especificados en las directivas <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> y <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>. Como este proceso
108 está bastante autorregulado, no es muy habitual que sea
109 necesario modificar los valores que estas directivas traen por
110 defecto. El número máximo de clientes que pueden ser
111 servidos simultáneamente (por ejemplo, el número
112 máximo de hebras entre todos los procesos) está
113 determinado por la directiva <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>. El número
114 máximo de procesos hijo activos está determinado por el
115 valor especificado en la directiva <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> dividido por el valor
116 especificado en la directiva <code class="directive"><a href="../mod/mpm_common.html# threadsperchild">
117 ThreadsPerChild</a></code>.</p>
119 <p>Hay dos directivas que establecen límites estrictos al
120 número de procesos hijo activos y al número de hebras
121 del servidor en un proceso hijo, y puede cambiarse solo parando
122 completamente el servidor y volviendo a iniciarlo. La directiva
123 <code class="directive"><a href="../mod/mpm_common.html#serverlimit ">ServerLimit </a></code> marca el
124 límite estricto de procesos hijo activos posibles, y debe ser
125 mayor o igual al valor de la directiva <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> dividido por el valor
126 de la directiva <code class="directive"><a href="../mod/mpm_common.html# threadsperchild">
127 ThreadsPerChild</a></code>. El valor de la directiva <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> es el límite
128 estricto del número de hebras del servidor, y debe ser mayor
129 o igual al valor de la directiva <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>. Si los valores
130 de esas directivas no son los que vienen por defecto, deben
131 aparecer antes que el resto de directivas del módulo
132 <code class="module"><a href="../mod/worker.html">worker</a></code>.</p>
134 <p>Además del conjunto de procesos hijo activos, puede haber
135 otros procesos hijo que están terminando pero en los que al
136 menos una hebra del servidor está todavía tratando una
137 conexión con un cliente. Puede haber hasta <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> procesos terminando,
138 aunque el número real de estos procesos que puede esperarse
139 es mucho menor. Este comportamiento puede evitarse desactivando la
140 eliminación individual de procesos hijo, lo que se hace de la
141 siguiente manera:</p>
144 <li>fijar el valor de la directiva <code class="directive"><a href="../mod/mpm_common.html# maxrequestsperchild">
145 MaxRequestsPerChild</a></code> a cero</li>
147 <li>fijar el valor de la directiva <code class="directive"><a href="../mod/mpm_common.html# maxsparethreads"> MaxSpareThreads</a></code> al mismo valor
148 que la directiva <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code></li>
151 <p>Una configuración típica del sistema de control de
152 procesos y hebras del módulo de MPM <code class="module"><a href="../mod/worker.html">worker</a></code>
153 prodría ser como sigue:</p>
155 <div class="example"><p><code>
159 MinSpareThreads 25<br />
160 MaxSpareThreads 75<br />
164 <p>Mientras que el proceso padre se inicia con privilegios de
165 usuario <code>root</code> en Unix para usar el puerto de escucha
166 80, los procesos hijo y las hebras se inician con menores
167 privilegios de usuario. Las directivas <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> y <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> se usan para determinar los
168 privilegios con los que se iniciarán los procesos hijo. Los
169 procesos hijo deben ser capaces de leer los contenidos que van a
170 servir, pero solo los permisos extrictamente necesarios para
171 cumplir su tarea. Además. a menos que se use <a href="../suexec.html">suexec</a>, los privilegios fijados en estas
172 directivas son los que que van a heredar los scripts CGI.</p>
174 <p>La directiva <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> controla con
175 qué frecuencia el servidor recicla los procesos eliminando
176 los antiguos y creando nuevos.</p>
179 <div class="bottomlang">
180 <p><span>Idiomas disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
181 <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
182 <a href="../es/mod/worker.html" title="Español"> es </a> |
183 <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
184 <a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
185 </div><div id="footer">
186 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
187 <p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="../faq/">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa de este sitio web</a></p></div>