Cita:
Iniciado por Datacenter1 Saludos
Veo que vas bien... no había tenido mucho tiempo de pasar por aca
worker es cierto trabaja mucho mejor en cpus con multiples cores y con php como fastcgi la diferencia en velocidad y bajo uso de recursos debe ser considerable.
Incluso Event es aún superior que Worker pero está aún "experimental"
déjalo como está uno o dos día, subiendo MaxRequestsPerChild a 5000 o incluso 50000 bajará la carga del servidor pero a costa de la memoria, todo depende de como se vean los valores en un par de días
En el mismo tema enlace que te envié hay unos scripts para optimizar las bases de datos, si no lo has hecho te sugiero hacerlo y puede ayudar a bajar la carga MySQL
Como habrás notado optimizar servidores es un arte, yo lo comparo con afinar coches de carrera.
Sí jeje. Ayer fue bastante bien, cierto es que el pico lo obtendremos hoy, con 239 users online el load average estuvo alrededor de 2, 3 con algún pico de 4 pero la performance fue genial, nadie noto nada. Para hoy espero en hora punta gente entre 280 y 320 usuarios online, que es donde ultimamente habia tenido problemas. He subido el maxrquestperchild a 5000. Ayer a 500 noté que usó 100k de swap, casi inapreciable, y antes con prefork 17.000k, pero aún es pronto para saber como va.
Respecto a mysql uso los dos scripts de optimización. Ando jugando con la memoria. Empecé dandole 512M para indices y he ido bajando, ahora lo tengo en 256M, he subido parámetros de caché y por lo que veo mysql ya no es un problema. Aún así sigo afinandolo para aprovechar la memoria donde relamente hace falta, porque soy consciente que lo ideal serían 4Gb, pero no debe caerse el servidor como pasó hace un par de días con el hardware que tiene
Cita:
Iniciado por j_aroche Según mi experiencia,
Worker consume mucho más recursos que Prefork aunque tiene la ventaja que puedes agregar un acelerador de PHP para aumentar el rendimiento de cada proceso.
Nosotros estamos usando XCache e instalamos algunos plugins para usar
la memoria para variables de XCache, esto elimina las consultas más habituales a la db. Si no usaramos XCache definitivamente el server load sería mucho mayor.
Creo que lo has puesto al reves, PRefork consume más recursos que worker, según el enlace que me pusiste, esto es lo que dice sobre prefork
Requiere más recursos (Memoria RAM y CPU) para atender cierto número de peticiones simultaneas, respecto a otras configuraciones. Esto limita drásticamente la escabilidad del servidor.
y esto sobre worker
El hecho de que un subproceso pueda manejar varias peticiones a la vez, hace que se requieran menos recursos para atender a cierto número de peticiones simultaneas.
De momento creo que para mi es pronto para opinar, pero insisto, de momento y solo de momento, los usuarios han notado una mejoría signficativa con la configuración que lleva puesta.
Creo que estoy muy cerca de afinarlo todo, aprender he aprendido muchisimo con todo este post. Creo y espero que lo único que me quede por dilucidar es si con el cambio de maxperthreadchild de 500 a 5000 va mejor o peor (según mi server). Y con el tiempo, iré preparando un cambio de servidor a uno de 4gb y 8 nucleos que le tengo ya echado el ojo.
Dejo un par de días funcionando esto, esta tarde veré que mejoría/empeoría ha tenido el enfermo.
Gracias.