Hola a todos,
Ante todo no sé si será un tópico de pregunta, pero llevo ya unos años y no consigo aprender de una vez por todas algo tan sencillo como configurar apache en cuanto a parámetros de rendimiento.
Info:
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_fcgid/2.3.6
En resumidas cuentas, apache 2.2.19, PHP 5, fastcgi y MPM Worker.
Quad Core a 2.9Ghz (i7), 6GB RAM, CPanel.
La web es dinámica, con muchas imágenes (50-80 por página).
Quisiera configurar apache para soportar actualmente unos 400-500 online (tengo hasta 240 online actualmente, y crece rápido).
Mi configuración actual es:
fileetag: None
keepalive: On
keepalivetimeout: 11
maxclients: 800
maxkeepaliverequests: 40
maxrequestsperchild: 10000
maxspareservers: 12
minspareservers: 6
root_options: ExecCGI, FollowSymLinks, Includes, IncludesNOEXEC, Indexes, SymLinksIfOwnerMatch
serverlimit: 800
serversignature: Off
servertokens: ProductOnly
sslciphersuite: ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOWSLv2:-EXP:!kEDH
startservers: 7
timeout: 300
traceenable: Off
Me interesa configurar correctamente los parámetros en negrita.
Si me pasáis un manual o guía que esté BIEN EXPLICADO os lo agradecería mucho. He visto que el comando:
ps -ylC httpd --sort:rss
sirve para obtener la memoria fisica usada por un child process, y se determina el max client: memoria total / max memoria usada por un child process.
Tenía configurado el server para soportar hasta 400 max clients (y serverlimit igual), pero con el KEEP ALIVE (peticiones ilimitadas) apache se quedó sin idle workers, saturando el servidor. Aumenté a 700 el max clients, y tiraba, aunque las peticiones por segundo rondaban eso, 700 petitions currently processing.
Si desactivo keepalive, las peticiones caen a 50 o menos. Quiero mantener el keep alive (para conexiones lentas sino tarda hasta 7 segundos en procesar una página, mientras solicita 40 imágenes que tiene una página).
No sé si me pasé con tanta explicación, pero quería dejar algunas cosas relevantes claras.
GRACIAS DE ANTEMANO, como siempre.
Como digo, un manual bueno explicando técnicamente las cosas me serviría.