Cada 3 dias tengo que reiniciar el server - Printable Version +- ispCP - Board - Support (http://www.isp-control.net/forum) +-- Forum: ispCP Omega International Area (/forum-22.html) +--- Forum: Spanish Corner (/forum-29.html) +--- Thread: Cada 3 dias tengo que reiniciar el server (/thread-13137.html) Pages: 1 2 |
RE: Cada 3 dias tengo que reiniciar el server - kurgans - 03-29-2011 04:46 PM Gracias Kilburn por el capote, tal vez o yo no me explique lo suficientemente claro o tu no lo entendiste bien y fuiste directamente al grano de copiar/pegar sin leer bien el post Quote:ese contenido bueno yo lo he variado ya bastante Quote:va en funcion de como responde el servidor, Quote:pero como punto de partida te servira Quote:luego ya va en funcion otras cosas alterar esos valores Eso es tu punto de partida para empezar a controlar el desmadre de procesos en el servidor, pero cada maquina es distinta, con un poco de ayuda en google de que hacen esos valores podras afinarlo bien. RE: Cada 3 dias tengo que reiniciar el server - pleter - 04-02-2011 09:38 AM (03-29-2011 01:55 PM)kilburn Wrote: Esto pasa por copiar las cosas a saco sin entender lo que hacen. aaaah, claro. en realidad nunca configure asi un vps y al ser mi primera vez tengo que pagar las consecuencias jeje en donde dices MaxProcessCount 1000 no soportara 1Gb de ram... como puedo sacar el calculo para configurar de que todo funcione optimo? Busque un poco en google para informarme y muchos dicen de poner "35" y la verdad me parece un tanto "lejos" con referencia al que me paso kurgans. Adjunto lo que encontre: Code: AddHandler fcgid-script .fcgi .php Donde tambien tiene de donde saco las fuente esa pagina, y no comprendo los calculos que usa para sacar los valores. dato por si les sirve, por el momento estoy hosteando 8 dominios (por el momento) de los cuales 3 son blog y 6 foros (en dominio y subdominios) de los cuales en total, puedo tener unas 9.000 visitas diarias entre todos, pero poco a poco va creciendo y se me hace complicado estar todo el dia controlando para que no se "colapse" Estos días el servidor no tubo problemas mayores y no se "cayo" como antes pasaba.. si se colapso un par de veces, pero lo solucione entrando en terminal como root y matando los procesos con: Code: # killall php5-cgi Gracias produndamente por todo los datos que me van tirando, voy haciendo todo lo que puedo a medida que me enseñan. gracias de verdad. RE: Cada 3 dias tengo que reiniciar el server - kilburn - 04-02-2011 08:21 PM Bueno bueno, vamos mejorando Para hacer los cálculos, el número de visitas en sí no es muy relevante. Tu servidor puede soportar hasta cierta carga, y evidentemente ese límite no depende del número de visitas que tengas sino del hardware en sí. Si después de configurarlo todo correctamente resultara que no tiene suficiente potencia para aguantar tu numero de visitas, tu unica opción será pasarte a un trasto más grande. Aún así, lo que debería pasar si llegas a ese umbral es que rechazara conexiones por sobrecarga, en vez de morirse agónica y silenciosamente como te pasaba antes. En cuanto a los cálculos, parece que de base tu sistema usa unos 450mb de ram (es decir, con apache aguantando el mínimo número de threads que tienes configurado, y con todos los demás servicios chupando ram). Además, tienes 1Gb de ram en total que hoy en día es muy justito, nada cercano a "large site"... Dicho esto, lo que deberías hacer primero es calcular cuanto te gasta cada nuevo proceso php. En mi opinión la mejor forma de hacerlo es mirar la memoria (free -m, los valores de la línea +/- buffer cache) justo después de hacer un "killall /usr/bin/php5-cgi" (es decir, sin procesos php corriendo) y volverla a mirar después de hacer una sola visita a una sola web (lo que obligará a lanzar un solo proceso php5-cgi). Hecho esto, puedes tomar la diferencia que te salga como el consumo de un proceso php. Pongamos que te da 30Mb. En ese caso, podrías tener hasta 500(mb libres)/30(mb por proceso)= 17 procesos php como mucho sin saturar la máquina. Ahí ya tienes el valor para "MaxProcessCount" en /etc/apache2/mods-enabled/fcgid_ispcp.conf. Con eso ya deberías evitar que se sature el servidor. Ahora te queda decidir cuantos de esos 17 procesos le permites usar a una sola de las webs. Es decir, si resulta que una web tiene un pico de visitas bestias, le permites llegar a utilizar todos los procesos dejando las demás webs sin poder funcionar? Imagino que no, así que pon de "DefaultMaxProcessClass" algo como 10 o 15 (cuanto más bajo menor el pico que puede aguantar una sola web, pero más seguro que las demás siguen funcionando). Luego te queda configurar apache. Ten en cuenta que apache sirve directamente las peticiones que no són de archivos PHP, así que lo que necesitas en este paso es saber más o menos la proporción de peticiones PHP frente a peticiones no-PHP (imagenes, archivos css, javascripts, etc..). Supongamos que de cada 10 peticiones, 2 son de archivos PHP y 8 de otras cosas (ratio:8/2=4). Sabemos que no puedes procesar nunca más de 17 peticiones PHP a la vez (lo que hemos calculado arriba), así que apache debería aceptar 17 (peticiones php) + 17*4 (no php) = 85 conexiones simultáneas. Redondeamos a la alza (aunque no mucho) y diremos que 100 conexiones simultáneas estaría bien. Así pues, ya tenemos que "MaxClients" (en /etc/apache2/apache2.conf, sección <IfModule mpm_worker_module>) debería ser 100. Ponemos "ThreadsPerChild" a 25 (que es el valor por defecto, compromiso entre que todo vaya bien y que no chupe demasiado), y sabemos que nunca tendremos más de 100/25=4 procesos apache "workers" a la vez más el master = 5 procesos apache en total. Ahora reiniciamos apache y dejamos que el servidor opere con normalidad. Luego haces un poco de seguimiento del consumo de memoria y deberías ver que ya no se muere como antes. Si ocurre, a mirar qué parte está gastando más de lo que preveíamos y a reajustar... RE: Cada 3 dias tengo que reiniciar el server - pleter - 04-03-2011 03:00 PM Muy amable kilburn por la explicacion, la entendi a la perfeccion. segun tus calculos, deberia usar de esta forma: Code: MaxProcessCount 17 ya que que con un #kill php5-cgi me da 418 como base y con una consulta sube a 456 (en ocacion mas y en ocaciones menos, depende del sitio que mire) y tomando un "promedio" me da 38mb y al sacar los calculos, rodendeo un poco para arriba. De todos modos, van 2 dias (y 7 horas y pico) por el momento y no tuve ningun problema, el maximo consumo llego a los 800 y se estanco por ahi, sube y baja pero anda cerca de los 800 siempre. Por tal motivo y por que no se si hice bien el calculo, no me anime todavia a agregar esas modificaciones que cite recien. Estan bien los calculos? me conviene agregarlo verdad? note que algunos de esos no los tengo en la configuracion, es muy impresindible agregarlos? Desde ya muchisima gracias a los tres p.s.: estaba pensando en poner un script como este para que se ejecute todo el tiempo y "vigile mi server": PHP Code: #!/bin/bash RE: Cada 3 dias tengo que reiniciar el server - pleter - 04-23-2011 06:43 AM ACTUALIZACION: He notado cuando se "muere" apache2 de la nada (aun me sigue ocurriendo) es que cuando lo llamo con el comando START me dice: Code: Starting web server: apache2WARNING: MaxClients (24) must be at least as large |