Linux Web Server Hack - Cómo escribir Equilibrio de carga automática de secuencias de comandos!
Bueno, he estado manualmente la gestión del servidor dedicado para este sitio para los últimos 2 años o así, pero he encontrado una mejor manera de automatizar el servidor para que no siempre bajan debido a la sobrecarga.
Uno de los problemas comunes en servidores dedicados es el hecho de que la carga puede salir de control y su servidor web junto con ella, haciendo que dura reiniciar el servidor.
Una mejor manera de lidiar con este problema de exceso de carga es apagar el servidor httpd (servidor web) antes de la carga del servidor llega a algo alrededor de 2 a 5.
Cuando la carga del servidor gotas debajo de 2, la secuencia de comandos puede reiniciar el servidor.
De esta manera, se ahorra muchos dolores de cabeza, especialmente si tiene que estar "cavado" o, simplemente, necesitamos que el sitio tanto como sea posible.
Lo creas o no, no hay un script que lo hace en línea libre disponible, así que hice uno para todos los webmasters que:
# / bin / bash
loadavg = `uptime | awk '(print $ 9)'`
RESTART = "/ sbin / service httpd restart"
# Bash no entiende de punto flotante
# Para convertir el número a un interger
thisloadavg = `echo $ loadavg | awk-F \. '(print $ 1)' `
if [ "$ thisloadavg"-ge "5"], y luego
echo "Ocupado - Carga media loadavg $ ($ thisloadavg)"
httpd-k stop
elif [ "$ thisloadavg"-le "2"], y luego
echo "Bien - Carga media loadavg $ ($ thisloadavg)"
pgrep httpd
if [$? -ne 0] # si no se ejecuta Apache
entonces
# Reiniciar Apache
RESTART $
echo "reiniciar"
algo más
echo "no se ha reiniciado!"
fi
algo más
echo "esperando ...!"
fi
Guarde este código en algún lugar como / root / checkload.sh.
A continuación, añada lo siguiente a su tarea de cron. (/ Etc / cron.d / sa-updatepara Fedora Linux)
* 1 * * * * * root sh / root / checkloadsh
Esto ejecutará el script de cada 1 minuto para comprobar la carga y si la carga es demasiado alto, el servidor web se apagará, si es inferior a 2 y el servidor Web está apagado, se enciende el servidor web en.
Hay un montón de cosas que pueden salir mal con el servidor de Internet, ya sea por el tráfico extra o lo que sea, pero este script será práctico y se lo recomiendo a cualquier persona que tenga problemas con los servidores web de alta carga que bajan a menudo. (como este blog)
Ahora, vaya instalar este script, usted nunca tendrá que preocuparse de su servidor web morir de alta carga nunca más.
También puede cambiar el valor de "2" en el código a algo más, como 5 o 10, que esperar más tiempo para cerrar el servidor web fuera de si la carga va alto.
Yo no escribí el código desde cero, me tomé 2-3 guiones diferentes y mezclados para arriba así que aquí tiene los recursos que utiliza para el código:
Carga media Script - Este es el esqueleto principal solía
Check / Reiniciar HTTPD Script - Este que yo utiliza para comprobar el servidor HTTPD antes de intentar volver a arrancar.
Programador de tareas de cron - Siempre me olvido de que el número más a la izquierda es la misma, maldito.
NOTA - Esta es una solución simple para mantener su servidor dedicado se ejecuta en 1 servidor (como éste), si usted puede permitirse más servidores, tendrá que recurrir al balanceo de carga los "servidores", balanceo de carga se refiere aquí a equilibrar el plazo de 1 servidor.


























































