3 votos

Monit es reiniciar apache2, debo arreglar el monit config, o la configuración de servidor?

Monit es reiniciar apache2 con frecuencia, basado en la totalmem > 200 m de la prueba en mi apache2 estrofa. No estoy seguro de que la verdad es que tengo un problema, o si debo aumentar la totalmem prueba en mi monit config.

Esta configuración fue bien hasta que hemos añadido un segundo sitio de wordpress, cuando apache2 inicia la activación de la monit totalmem > 200 m de la condición. Antes de comenzar a considerar la particular construcción del segundo sitio de wordpress, me gustaría entender si yo no sólo debe aumentar la totalmem límite en el total de la prueba, y seguir adelante.

Mi monit estrofa para el servidor apache2 fue copiado de un monit instalar tutorial. Me considera un valor razonable para empezar, y pensé que iba a determinar un valor concreto para mi servidor en particular si me encontré con un apache problemas de memoria. Bueno, ahora me ha golpeado el problema, y averiguar lo que se ha demostrado ser más difícil de lo que esperaba. No he encontrado nada que me dice cómo averiguar lo que el valor debe ser de una determinada configuración del servidor.

El anfitrión es un VPS con Ubuntu server 10.04 LTS. Apache2 está ejecutando un estudio de la aplicación (mod_php5), dos de wordpress instala (mod_php5), y un tenedor de Redmine (mod_passenger). Empezamos a configurar webdav, para el comercio intra-empresa de intercambio de archivos, pero no se está usando. [NOTA: sé que (ahora) que me puede salvar de la memoria por el cambio a REE en lugar de utilizar ruby1.8.]

El servidor recibe tráfico muy baja - ~20 páginas vistas por hora, en todas las aplicaciones, excepto los bots y azar hacker oler, y es poco probable que exceda las 1000 páginas vistas por hora, para el futuro previsible. Aquí están los detalles:

$ free-m
 total usado free shared buffers cached
Mem: 496 354 142 0 39 100
-/+ buffers/cache: 214 282
Swap: 1023 6 1017
top - 17:36:27 de hasta 34 días, 2:23, 2 usuarios, carga promedio: 0.00, 0.00, 0.00
Tareas: 69 total, 1, 68 de dormir, 0 detuvo, 0 zombie
Cpu(s) de: 0.2%de nosotros, 0.1%sy, 0.0%ni, el 99,7% de identificación, 0.0%wa, 0.0%hi, 0.0%si, 0.0%san
Mem: 508272k total, 362944k utilizado, 145328k libre, 40448k búferes
Swap: 1048572k total, 6284k utilizado, 1042288k libre, 103028k en caché

 PID DE USUARIO PR NI VIRT RES SHR S %CPU %MEM TIEMPO+ COMANDO
15257 www-data 20 0 228m 37m 4472 S 0 7.5 0:01.20 apache2
15258 www-data 20 0 225m 34m 4580 S 0 6.9 0:00.76 apache2
14680 www-data 20 0 224m 33m 4560 S 0 6.7 0:00.79 apache2
19146 www-data 20 0 222m 33m 3900 S 0 6.7 0:00.75 apache2
15255 www-data 20 0 222m 32m 3780 S 2 6.6 0:00.60 apache2
19733 mysql 20 0 160 m 31m 6396 S 0 6.4 0:00.34 mysqld
 9379 root 20 0 199m 12m 7368 S 0 2.6 0:43.30 apache2
10289 root 20 0 46500 9680 1516 S 0 1.9 7:23.87 ruby1.8
10292 nadie 20 0 72376 3656 2888 S 0 0.7 0:00.66 PassengerLoggin
19385 root 20 0 81348 3552 2680 S 0 0.7 0:00.04 sshd
19401 hostexsa 20 0 19556 2256 1592 S 0 0.4 0:00.10 bash
10287 root 20 0 97808 2164 de 1896 S 0 0.4 0:02.19 PassengerHelper
10282 root 20 0 23512 1908 1648 S 0 0.4 0:00.01 PassengerWatchd
25370 root 20 0 105m 1876 1260 S 0 0.4 3:58.88 monit
19400 hostexsa 20 0 81348 1784 912 S 0 0.4 0:00.25 sshd
 3616 root 20 0 245 m 1700 1152 S 0 0.3 0:00.21 consola-kit-dae
19926 hostexsa 20 0 19248 1220 932 R 0 0.2 0:00.05 superior
:/etc/monit/conf.d $ cat apache2.conf
proceso de comprobación de apache2 con pidfile /var/run/apache2.pid
 programa start = "/etc/init.d/apache2 start" con tiempo de espera de 20 segundos
 programa stop = "/etc/init.d/apache2 stop"

si la cpu es mayor que 60% durante 2 ciclos, a continuación, reinicie
si la cpu > 80% durante 5 ciclos, a continuación, reinicie
si totalmem > 200.0 MB por 5 ciclos, a continuación, reinicie
si los niños > 250, a continuación, reinicie
si loadavg(5min) mayor de 10 por 8 ciclos, a continuación, deje de
si 3 se reinicia el plazo de 5 ciclos, a continuación, tiempo de espera

si no se ha podido host sub.example.net el puerto 80 del protocolo http
 y la petición de "/monit/token", a continuación, reinicie

servidor del grupo de
$ /usr/sbin/apache2 -v
La versión del servidor: Apache/2.2.14 (Ubuntu)
Servidor de construcción: 18 de Noviembre de 2010 21:19:09

/etc/apache2/mods-enabled$ ls
alias.conf autoindex.carga env.carga reqtimeout.conf
alias.carga de cgi.carga de mime.conf reqtimeout.carga
auth_basic.carga dav_fs.conf mime.la carga de reescritura.carga
authn_file.carga dav_fs.la carga de la negociación.conf setenvif.conf
authz_default.la carga de dav.la carga de la negociación.carga setenvif.carga
authz_groupfile.la carga se desinflan.conf pasajero.conf estado.conf
authz_host.la carga se desinflan.carga de pasajeros.el estado de carga.carga
authz_user.carga dir.conf php5.conf
autoindex.conf dir.carga de php5.carga

Desde mi apache2.conf:

KeepAlive En
MaxKeepAliveRequests 100
KeepAliveTimeout 10


 StartServers 1
 MinSpareServers 1
 MaxSpareServers 5
 MaxClients 50
 MaxRequestsPerChild 5000

:/etc/mysql/conf.d$ cat mysqld_small_footprint.cnf
allowed_packet = 1M
thread_stack = 64 KB
table_cache = 4
sort_buffer = 64 KB
net_buffer_length = 2K
skip-innodb

ACTUALIZACIÓN

Acabo de encontrar la siguiente guía en este artículo sobre el básico de un servidor apache tuning ofrece exactamente el tipo de orientación que había estado buscando. Por ejemplo:

Para un rendimiento óptimo, usted querrá modificar Apache MaxClients configuración de Apache puede consumir no más de 70% de la memoria física disponible. Cualquier mayor y el riesgo de la casilla de partida para sumergir fuertemente en el espacio de intercambio, lo que aumentará drásticamente de e / s y CPU esperar y puede fácilmente hacer que el servidor caer de rodillas.

3voto

Some Guy Puntos 1242

En sí y de por sí, el uso de más de 200MB de RAM no es necesariamente un problema de tu servidor apache. Pero creo que usted sólo tiene que averiguar lo que es aceptable para su instalación.

Si no hay nada en ese VPS, creo que es seguro para permitir que apache más de 200M como un límite superior.

Si usted tiene el tiempo y el know-how, que sin duda puede encontrar formas de llevar ese número hacia abajo, pero puede ser más eficaz para que usted acaba de subir tu monit umbral y no tener que mantener a reiniciar. Para todo lo que se sabe, podría estabilizar en 201MB de uso, a la derecha (raro, pero ver a mi punto).

Si yo estuviera en sus zapatos, yo no lo considero aceptable tener apache reinicia cada de vez en cuando... la estabilidad es deseable... más que cualquier cantidad de RAM libre disponible en el servidor.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: