Foros del Web » Administración de Sistemas » Apache »

Directivas rendimiento apache windows.

Estas en el tema de Directivas rendimiento apache windows. en el foro de Apache en Foros del Web. Hola a todos, Estoy tratando de afinar un poco un httpd.conf para apche 2.2 windows. al intentar introducir las directivas: StartServers 40 MinSpareServers 30 MaxSpareServers ...
  #1 (permalink)  
Antiguo 22/11/2010, 04:03
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Directivas rendimiento apache windows.

Hola a todos,

Estoy tratando de afinar un poco un httpd.conf para apche 2.2 windows.

al intentar introducir las directivas:

StartServers 40
MinSpareServers 30
MaxSpareServers 50
MaxClients 240
MaxRequestsPerChild 1000

me dá un error y no inicia apache.

La pregunta es:

- ¿ deben ir estas directicas en algún tag o if module, etc ?
- ¿ es que no pueden ir así tal cual ?
- ¿ me falta algo ?

saludos y gracias,
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com
  #2 (permalink)  
Antiguo 23/11/2010, 06:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Directivas rendimiento apache windows.

¿Cuál es el error que produce? ¿El servidor está instalado para trabajar como worker o prefork?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/11/2010, 11:48
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Respuesta: Directivas rendimiento apache windows.

Hola David, gracias por responder. Se trata de una instalación XAMPP para Windows. Más o menos está solucionado. Pero bueno, yo de servidores web no estoy muy puesto y no sé si lo estoy haciendo bien y además, tengo algunas otras dudas. La primera sería relacionada con tu respuesta....:

¿ Cómo puedo saber si está en Worker o Prefork ?.

Saludos y gracias,
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com
  #4 (permalink)  
Antiguo 23/11/2010, 12:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Directivas rendimiento apache windows.

En el listado de módulos cargados podrás verlo.

Aunque, en Windows, lo usual es que se cargue el módulo mpm_winnt.
En ese caso, lo que te estarían causando problemas son las directivas MinSpareServers y MaxSpareServers que son específicas del módulo prefork.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 24/11/2010, 03:05
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Respuesta: Directivas rendimiento apache windows.

muchas gracias David por contestar.

Vamos a ver. Cuando y "le doy" a apache -l, me sale que tengo, entre otros:
Compiled in modules:
mpm.winnt.c
Cuando miro en httpd.conf los modulos cargados y no cargados, veo que no existe ninguno relativo a *mpm*. Pero si existe una directiva tal como esta:
Include conf/extra/httpd-mpm.conf
Vamos a ver que hay ahí:

Código:
#
# Server-Pool Management (MPM specific)
# 

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
# Note that this is the default PidFile for most MPMs.
#
<IfModule !mpm_netware_module>
    PidFile C:/xampp/apache/logs/httpd.pid
</IfModule>

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
<IfModule !mpm_winnt_module>
<IfModule !mpm_netware_module>
LockFile @rel_logfiledir@/accept.lock
</IfModule>
</IfModule>

#
# Only one of the below sections will be relevant on your
# installed httpd.  Use "apachectl -l" to find out the
# active mpm.
#

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum  number of requests a server process serves
<IfModule mpm_winnt_module>
    ThreadsPerChild     250
    MaxRequestsPerChild   0
</IfModule>

# BeOS MPM
# StartThreads: how many threads do we initially spawn?
# MaxClients:   max number of threads we can have (1 thread == 1 client)
# MaxRequestsPerThread: maximum number of requests each thread will process
<IfModule mpm_beos_module>
    StartThreads            10
    MaxClients              50
    MaxRequestsPerThread 10000
</IfModule>

# NetWare MPM
# ThreadStackSize: Stack size allocated for each worker thread
# StartThreads: Number of worker threads launched at server startup
# MinSpareThreads: Minimum number of idle threads, to handle request spikes
# MaxSpareThreads: Maximum number of idle threads
# MaxThreads: Maximum number of worker threads alive at the same time
# MaxRequestsPerChild: Maximum  number of requests a thread serves. It is 
#                      recommended that the default value of 0 be set for this
#                      directive on NetWare.  This will allow the thread to 
#                      continue to service requests indefinitely.                          
<IfModule mpm_netware_module>
    ThreadStackSize      65536
    StartThreads           250
    MinSpareThreads         25
    MaxSpareThreads        250
    MaxThreads            1000
    MaxRequestsPerChild      0
    MaxMemFree             100
</IfModule>

# OS/2 MPM
# StartServers: Number of server processes to maintain
# MinSpareThreads: Minimum number of idle threads per process, 
#                  to handle request spikes
# MaxSpareThreads: Maximum number of idle threads per process
# MaxRequestsPerChild: Maximum number of connections per server process
<IfModule mpm_mpmt_os2_module>
    StartServers           2
    MinSpareThreads        5
    MaxSpareThreads       10
    MaxRequestsPerChild    0
</IfModule>

Entonces, debo entender que el módulo mpm.. lo que sea, está ya incluído y compilado (mpm.winnt.c que pongo al principio). Si esto es así, entonces solo puedo cambiar donde pone en el code anterior la parte que dice ??:
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
yo ahora mismo tengo en mi httpd.conf y respecto a este tema, lo siguiente:
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 7
MaxSpareServers 15
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
Que supongo, ademá,s y a tenor de lo visto hasta ahora, no está sirviendo de nada.


Saludos,
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com
  #6 (permalink)  
Antiguo 24/11/2010, 19:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Directivas rendimiento apache windows.

Efectivamente, al no estar cargado el módulo prefork esas directivas no se aplican.

Si, en efecto, el módulo mpm_winnt es el que está cargado; como mencionas, las directivas que serán tomadas como válidas son las que se encuentren en ese bloque ifModule.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 25/11/2010, 01:35
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Respuesta: Directivas rendimiento apache windows.

Gracias David.

Entonces y para resumir, el Include conf/extra/httpd-mpm.conf que apunta al archivo httpd-mpm.conf es lo que tengo que usar para modificar las directivas de rendimiento, que, además deben hacerse solo en:
<IfModule mpm_winnt_module>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

Arriba, solo vemos dos diretivas, a mi me gustaría dejarlo así David. Eso es posible:

<IfModule mpm_winnt_module>
StartServers 10
MinSpareServers 7
MaxSpareServers 15
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
Si no es posible, ¿ hay algo que se puedda hacer ?

Saludos y gracias,
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com
  #8 (permalink)  
Antiguo 25/11/2010, 04:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Directivas rendimiento apache windows.

Es que las directivas MinSpareServers y MaxSpareServers no aplican a ese MPM y a su forma de trabajo.

Aquí puedes ver el listado de directivas aplicables:
http://httpd.apache.org/docs/2.0/es/mod/mpm_winnt.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 25/11/2010, 06:53
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Respuesta: Directivas rendimiento apache windows.

Me lo imaginaba. Y entonces no se puede implementar el mpm Prefork en apache apra windows ?.
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com
  #10 (permalink)  
Antiguo 25/11/2010, 08:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Directivas rendimiento apache windows.

Supongo que tal vez se podría compilar Apache con ese módulo, pero no lo he intentado y no estoy seguro que sea posible.

De hecho, el modo prefork no ofrece ninguna ventaja en Windows.
Probablemente sea más eficiente utilizar el MPM por defecto para Windows ya que utiliza características propias del SO para optimizar.

También hay información al respecto aquí:
http://httpd.apache.org/docs/2.0/mpm.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 25/11/2010, 09:44
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 24 años, 1 mes
Puntos: 14
Respuesta: Directivas rendimiento apache windows.

Gracias David. Me ha quedado todo muy claro. ¿ Dónde hay que enviar el jamón ?
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com

Etiquetas: rendimiento, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.