Linux Web Server Hack - Cómo escribir Equilibrio de carga automática de secuencias de comandos!

por Max el Martes, 23 de septiembre 2008

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.

Ritmo

1 Estrella 2 Estrellas 3 Estrellas 4 Estrellas 5 Estrellas
Loading ... Cargando ...

ad ad
ad ad


20.000 GPS POI $ 9,99

Relacionado Noticias y recursos

Otras Noticias de Interés De nuestros amigos

  • paja, Richard
    Eso no es equilibrar la carga! es sólo apagar el servidor web en cargas más elevadas, no es una buena práctica en todos, la verificación de servidores virtuales Linux, la libra e incluso iptables puede hacer balance de carga!
  • Bueno, estoy hablando de la solución "barata" para equilibrar la carga, por supuesto, si usted tenía dinero para múltiples servidores, eso sería otra historia.

    Además, iptables no se puede hacer un equilibrio de carga de una manera sencilla,
    esta es una gran solución para las personas que pueden pagar 1 servidor dedicado. (como éste, pero créanme que necesitaría al menos 2 servidores, pero funcionando en otros aquí)

    Es como que usted está diciendo usted puede conseguir un turbo de alta potencia para su coche, pero la mayoría no puede pagarla y no es una solución viable si tiene que pagar $ 2000/month.
  • Sí, pero esto no es el equilibrio de carga, este es el límite de:

    http://en.wikipedia.org/wiki/Bandwidth_throttling

    Incluso en un servidor que puede utilizar técnicas de equilibrio de carga adecuada. Como correr un pequeño grupo y dirigir peticiones a servidores que no sean ocupados a través de un proxy de algún tipo como nginx.
  • Oh impresionante, lo tengo en la entrada Wiki ahora, el límite de las rocas de ancho de banda! :)
  • inno
    El problema es que este no es el equilibrio de carga de cualquier forma. Es estrangulamiento, y de manera violenta.
  • BiSScuiTT
    O.. M.. G. .. Mejor guión equilibrador de carga EVAR !!!!!!! Usted r El L33test!

    ¡En serio! ¿Me puede dar algo de lo que es lo que está fumando!?
blog alimentado por Disqus
Si te gusta este post, por favor suscribirse a mi feed RSS.

También puede suscribirse por correo electrónico rellenando tu nombre y e-mail a continuación:

Nombre: Email:


¿Tienes un nuevo hack, bricolaje, howto, o gadget? Consejo que estamos aquí.

Goohack Trate de encontrar un nuevo Hack:


Sitios recomendados De Zedomax Red de Blog