1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Optimizando httpd.conf

Tema en 'Asuntos Técnicos' iniciado por viciovirtual, 26 Ago 2009.

  1. viciovirtual

    viciovirtual Usuario activo

    Hola buen dia, fijense que tengo una web con 5000 unicas al dia, y el problema es que cuando sube a 200-300 usuarios online la carga del server sube hasta 100-120. realmente no tengo muchos conocimientos en cuanto a la configuracion de apache, mi servidor tienes estos requerimientos:

    Intel(R) Pentium(R) CPU E5400 @ 2.70GHz
    3gb de ram
    320gb
    centos 5

    y este es el httpd.conf

    PHP:
    # 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 "/var/run/httpd.pid"
    </IfModule>

    #
    # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
    #
    <IfModule !mpm_winnt_module>
    <
    IfModule !mpm_netware_module>
    LockFile /var/logs/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
    ServerLimit 450
    MaxClients 450
    MaxRequestsPerChild 10000
    </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
    ServerLimit 450
    MaxClients 450
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 10000
    </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 10000
    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 10000
    </IfModule>
    porfavor ayudenme, gracias de antemano.
     
  2.  
  3. viciovirtual

    viciovirtual Usuario activo

    Muchas gracias por el link, una pregunta, como se que elegir si prefork o worker, y como seleccionar una nada mas, porq ahi estan funcionando las dos.
     
  4. Elige prefork.

    Si leemos un poco más:
    In the prefork model, a new process is created per request. Spare processes are kept idle to handle incoming requests, which reduces the start-up latency.

    Traducción al español:
    En el modelo de prefork, un nuevo proceso es creado por la petición. Los procesos de recambio se mantuvo inactiva para manejar las peticiones entrantes, lo que reduce la puesta en marcha de latencia.

    Sitios consultados:
    www.google.es
    http://translate.google.es/translate_t?hl=es&sl=en&tl=es#

    Saludos,
     
    Última edición por un moderador: 26 Ago 2009
  5. Relay

    Relay Nuevo usuario

    Mete caché, ya sea de php con APC o eAccelerator, o cachés específicas del software que estés usando: si es Wordpress, te recomiendo WP-SuperCache.

    Eso aliviará la carga, inicialmente.
     
  6. Relay

    Relay Nuevo usuario

    Aparte, prueba esta config en tu prefork:

    Timeout 15
    KeepAlive On
    MaxKeepAliveRequests 10000
    KeepAliveTimeout 3
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 20
    MaxClients 150
    MaxRequestsPerChild 1000

    Esto es, entre <IfModule mpm_prefork_module> y </IfModule>, pon eso.

    Tras muchas pruebas, esa es la config que mejor me ha ido en los apache.
     
  7. chardy

    chardy Nuevo usuario

    Relay cuentanos cuantos sitios alojas y el flujo de visitas con la que anda bien la configuración.
    Puede que en otro tipo de servidores ande lento o produzca colapsos. Espero la info para analizar si utilizarla.

    Saludos,

    Hardy Hernandez
     
  8. viciovirtual

    viciovirtual Usuario activo

    Hola buen dia, gracias relay por la info de optimizacion, en este caso aun no la realizo, pero encontre un mejor servidor al mismo precio que el que tego actualmente, el que tengo actualmente es:

    Intel(R) Pentium(R) CPU E5400 @ 2.70GHz
    3gb de ram
    320gb
    centos 5

    y el que contratare sera:

    Core2Quad Q9550
    Processor - SINGLE CPU QUAD CORE 2.83GHZ 1333FSB (12MB CACHE)
    Ram/Memory - 8 Gb DDR2
    IP Addresses - 5
    Hard Drive - 1 TB SATA

    yo pienso que con esto ya no debe de pasar esto de la sobrecarga, al dia uso 100gb de ancho de banda aprox. y en total todos mis sitios generan aprox 8000 visitas unicas al dia. de igual manera en cuanto lo tenga ya listo les voy a pedir su ayuda para configurarlo. y si es posible que me comenten si este nuevo servidor si podria responderme a las necesidades que tengo
     
  9. Relay

    Relay Nuevo usuario

    Ahí va la info. Administro la máquina yo solo, pero tengo pocos sitios realmente.

    - El blog de diseño de un amigo mio, básicamente este se lleva el 95% de visitas. Además tiene varios proyectos gestándose que tienen parte de ese tráfico
    - Un blog personal mio y otro de cine (unos 500 usuarios al día entre ambos)
    - imeneame.net: Una versión para iPhone/iTouch de meneame.net
     
  10. Relay

    Relay Nuevo usuario

    Bueno, eso puede y no puede pasar. Yo cambie de un servidor monoprocesador de 2 Ghz con 1 GB RAM a un Core2Duo 2'4 Ghz con 2 GB RAM, y seguía teniendo la sobrecarga... así que determiné que el problema era el apache. Lo máximo que pude hacer era usar esa config.

    Así que, aparte de que si usas 100gb/dia debes tener muchísimas visitas (eso puede llegar a generarte bastantes ingresos derivados de la publicidad), podría ser que el cambio del servidor no te solventara los problemas.

    De todas maneras, esa configuración tb la apliqué a varios servidores que no son mios pero los administradores me pidieron ayuda por problemas de rendimiento, como por ejemplo nopuedocreer.
    A partir de esa config, la cosa fue más suave.
     
  11. viciovirtual

    viciovirtual Usuario activo

    Ok voy a intentar esa configuracion con el nuevo server, pero tengo algunas dudas, mi sitio con mas trafico es mimp3.net y utiliza el php para obtener las descargas de canciones (no estan alojadas en el server) y lo que quiero saber si con el timeout en 15 no se corta la comunicaicon o se cortan las descargas, puedes checar algunas configuraciones de apache en mimp3.net/pi.php ademas le instale el eaccelerator y bajo un poco la carga.
     
  12. Relay

    Relay Nuevo usuario

    Es que por defecto, el timeout antes de cerrarse el socket es de 60 segundos.
    El timeout es eso, un tiempo de espera cuando no hay actividad. Nada tiene que ver mientras hay actividad, que sigue su funcionamiento normal.
     
  13. viciovirtual

    viciovirtual Usuario activo

    ahh ok, entonces voy a ponerlo en 15, muchas gracias y ahi te andare molestando ya cuando tenga el otro jeje
     
  14. Relay

    Relay Nuevo usuario

    Intenta probarlo en el server actual. A ver si te mejora.
     
  15. viciovirtual

    viciovirtual Usuario activo

    ya le puse un timeout de 20, y pues en realidad anda en las mismas, de igual manera me voy a cambiat al otro server, ya que es mas del soble de capacidad y es el mismo precio
     
  16. Relay

    Relay Nuevo usuario

    No hombre, tienes que poner toda la configuración que te puse, no solo 1 de las opciones que te he puesto...

    Cambiando solo el timeout no funcionará
     
  17. viciovirtual

    viciovirtual Usuario activo

    ya en este momento ya puse la nueva configuracion
     
  18. Relay

    Relay Nuevo usuario

    Supongo que habrás reiniciado el apache para que te pille los cambios...
     
  19. viciovirtual

    viciovirtual Usuario activo

    si, claro reinicie el apache, ahorita estoy checando el top, la memoria ram si se libero un poquitin la carga anda entre los 2 y 4
     
  20. Relay

    Relay Nuevo usuario

    Recargando mimp3.net, yo noto que va más rápido... así que algo ha mejorado.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·