upload http
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / docs / manual / mod / worker.html.es
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
7       -->
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>
13 <body>
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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentación</a> &gt; <a href="../">Versión 2.0</a> &gt; <a href="./">Módulos</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>MPM de Apache worker</h1>
23 <div class="toplang">
24 <p><span>Idiomas disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
25 <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
26 <a href="../es/mod/worker.html" title="Español">&nbsp;es&nbsp;</a> |
27 <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
28 <a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
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
33             recientemente.</div>
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>
40
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
48     muchas hebras.</p>
49
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>
54 </div>
55 <div id="quickview"><h3 class="directives">Directivas</h3>
56 <ul id="toc">
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>
77 </ul>
78 <h3>Temas</h3>
79 <ul id="topics">
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>
82 <ul class="seealso">
83 <li><a href="../bind.html">Especificar las direcciones y los
84 puertos que usa Apache</a></li>
85 </ul></div>
86 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
87 <div class="section">
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>
96
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#&#10;    threadsperchild">
117     ThreadsPerChild</a></code>.</p>
118
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#&#10;    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>
133
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>
142
143     <ul>
144       <li>fijar el valor de la directiva <code class="directive"><a href="../mod/mpm_common.html#&#10;      maxrequestsperchild">
145       MaxRequestsPerChild</a></code> a cero</li>
146
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>
149     </ul>
150
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>
154
155     <div class="example"><p><code>
156       ServerLimit         16<br />
157       StartServers         2<br />
158       MaxClients         150<br />
159       MinSpareThreads     25<br />
160       MaxSpareThreads     75<br />
161       ThreadsPerChild     25
162     </code></p></div>
163
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>
173
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>
177 </div>
178 </div>
179 <div class="bottomlang">
180 <p><span>Idiomas disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
181 <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
182 <a href="../es/mod/worker.html" title="Español">&nbsp;es&nbsp;</a> |
183 <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
184 <a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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>
188 </body></html>