1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- English Revision: 103428 -->
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="prefork.xml.meta">
<name>prefork</name>
<description>Implementa un servidor web pre-forking y no
hebrado</description>
<status>MPM</status>
<sourcefile>prefork.c</sourcefile>
<identifier>mpm_prefork_module</identifier>
<summary>
<p>Este Módulo de MultiProcesamiento (MPM) implementa un
servidor web pre-forking y no hebrado que trata las peticiones de
una manera similar a como lo hacía Apache 1.3. Esto es
apropiado para sitios web que necesitan evitar el hebrado para ser
compatibles con librerías que no son seguras cuado se usan
hebras. Es también el mejor MPM para aislar cada
petición, de manera que si suge un problema con una
petición, esto no afecte al resto.</p>
<p>Este MPM está muy autorregulado, de manera que muy pocas
veces es necesario ajustar los valores de sus directivas de
configuración. El valor que se fije en la directiva
<directive module="mpm_common">MaxClients</directive> debe ser lo
suficientemente grande para tratar tantas peticiones
simultáneas como espere recibir su sitio web, pero lo
suficientemente pequeño para asegurarse de que hay memoria
RAM suficiente para todos los procesos.</p>
</summary>
<seealso><a href="../bind.html">Especificar las direcciones y los puertos
que usa Apache</a></seealso>
<section id="how-it-works"><title>Cómo funciona</title> <p>Un
solo proceso de control es el responsable de lanzar los procesos
hijo que escuchan las peticiones que se puedan producir y las
sirven cuando llegan. Apache siempre intenta mantener varios
procesos <dfn>de sobra</dfn> o en espera, que estén
disponibles para servir peticiones cuando lleguen. Así, los
clientes no tienen que esperar a que un nuevo proceso hijo sea
creado para ser atendidos.</p>
<p>Las directivas <directive
module="mpm_common">StartServers</directive>, <directive
module="prefork">MinSpareServers</directive>, <directive
module="prefork">MaxSpareServers</directive>, y <directive
module="mpm_common">MaxClients</directive> regulan la forma en que
el proceso padre crea hijos para servir peticiones. En general,
Apache funciona bien sin hacer muchas modificaciones en los
valores por defecto de estas directivas, de manera que la mayor
parte de los sitios web no necesitan ajustar esas directivas a
valores diferentes. Los sitios web que necesiten servir más
de 256 peticiones simultáneas pueden necesitar incrementar el
valor de <directive module="mpm_common">MaxClients</directive>,
mientras que los sitios web con memoria limitada pueden necesitar
decrementar <directive module="mpm_common">MaxClients</directive>
para evitar que el rendimiento del servidor se degrade (pasando
los contenidos de memoria al disco y de vuelta a memoria). Puede
obtener más información sobre como mejorar el
rendimiento del proceso de creación de procesos en la
documentación sobre <a href="../misc/perf-tuning.html">mejora
del rendimiento</a>.</p>
<p>El proceso padre de Apache se inicia normalmente como usuario
<code>root</code> en Unix para que escuche en el puerto 80, sin
embargo, los procesos hijo se crean con menores privilegios de
usuario. Las directivas <directive
module="mpm_common">User</directive> y <directive
module="mpm_common">Group</directive> se usan para determinar los
privilegios de los procesos hijo de Apache. Los procesos hijo
deben ser capaces de leer todos los contenidos que van a servir,
pero deben tener los menores privilegios posibles.</p>
<p>La directiva <directive
module="mpm_common">MaxRequestsPerChild</directive> controla
cómo el servidor recicla frecuentemente los procesos
eliminando los antiguos y creando nuevos.</p>
</section>
<directivesynopsis location="mpm_common"><name>BS2000Account</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>PidFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>LockFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxClients</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ServerLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>StartServers</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
</directivesynopsis>
<directivesynopsis>
<name>MaxSpareServers</name>
<description>Número máximo de procesos hijo en espera que
puede tener el servdor</description>
<syntax>MaxSpareServers <var>number</var></syntax>
<default>MaxSpareServers 10</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>La directiva <directive>MaxSpareServers</directive> determina
el número máximo de procesos hijo <em>en espera</em>
deseado. Un proceso en espera es aquel que no está atendiendo
ninguna petición. Si hay más de
<directive>MaxSpareServers</directive> procesos hijo en espera,
entonces el proceso padre elimina el exceso.</p>
<p>Ajustar este parámetro debe ser necesario solo en sitios
web con muchas visitas. Fijar un valor alto para este
parámetro es una mala idea casi siempre. Si fija un valor por
debajo de <directive module="prefork">MinSpareServers</directive>,
Apache ajustará automáticamente el valor a <directive
>MinSpareServers</directive><code> + 1</code>.</p>
</usage>
<seealso><directive module="prefork">MinSpareServers</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>MinSpareServers</name>
<description>Número mínimo de procesos hijo en espera</description>
<syntax>MinSpareServers <var>number</var></syntax>
<default>MinSpareServers 5</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>La directiva <directive>MinSpareServers</directive> fija el
número mínimo de procesos hijo <em>en espera</em>. Un
proceso en espera es aquel que no está atendiendo ninguna
petición. Si hay menos procesos hijo en espera que
<directive>MinSpareServers</directive>, entonces el proceso padre
crea nuevos procesos hijo a un ritmo máximo de uno por
segundo.</p>
<p>Ajustar este parámetro debe ser necesario solo en sitios
web con muchas visitas. Fijar un valor alto para este
parámetro es una mala idea casi siempre.</p>
</usage>
<seealso><directive module="prefork">MaxSpareServers</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>
</modulesynopsis>
|