Linux Web Server Hack - How to Write Automated Load Balancing Script!
Nun, ich habe manuell die Verwaltung der dedizierten Server für diese Website für die letzten 2 Jahre oder so, aber ich fand einen besseren Weg an den Server zu automatisieren, damit es nicht immer funktioniert nach unten durch Überlastung.
Einer der häufigsten Probleme bei dedizierten Servern ist die Tatsache, dass Belastung ausgehen kann der Kontroll-und Webserver mit sich, was Sie an Hard-den Server neu starten.
Eine bessere Möglichkeit, sich mit diesem über-laden Problem ist zum Herunterfahren des HTTPD-Server (Webserver), bevor ein Server-Last wird, etwas zu rund 2 bis 5.
Wenn die Server-Last fällt unter 2, das Skript kann dann den Server neu starten.
Auf diese Weise sparen Sie eine Menge Kopfschmerzen, besonders, wenn Sie "get gegraben" oder einfach nur die Seite so viel wie möglich.
Ob Sie es glauben oder nicht, es gibt kein Skript, das bedeutet dies kostenlos online verfügbar gemacht, damit ich Sie ein für alle Webmaster:
#! / bin / bash
loadavg = `uptime | awk '(print $ 9)'`
RESTART = "/ sbin / service httpd restart"
# Bash nicht versteht floating point
# So wandeln die Nummer eins interger
thisloadavg = `echo $ loadavg | awk-F \. '(print $ 1)' `
if [ "$ thisloadavg"-ge "5"], dann
echo "Busy - Load Average loadavg $ ($ thisloadavg)"
httpd-k stop
elif [ "$ thisloadavg"-le "2"], dann
echo "Okay - Last Durchschnittliche loadavg $ ($ thisloadavg)"
pgrep httpd
if [$? -ne 0] # Wenn Apache läuft nicht
dann
# Apache neustarten
$ RESTART
echo starten "!"
sonst
echo "nicht starten!"
fi
sonst
echo "warten ...!"
fi
Speichern Sie diesen Code irgendwo z. B. / root / checkload.sh.
Dann fügen Sie Folgendes in Ihre Cron-Job. (/ Etc / cron.d / sa-updatefür Fedora Linux)
* / 1 * * * * root sh / root / checkloadsh
Dadurch wird das Skript alle 1 Minuten, um die Last zu überprüfen und, wenn Belastung zu hoch ist, werden Web-Server abgeschaltet werden, wenn es weniger als 2 und Web-Server deaktiviert ist, wird es den Web-Server zu aktivieren.
Es gibt eine Menge Dinge, die schief gehen kann mit Ihrem Web-Server aus, ob zusätzliche Verkehr oder was auch, aber das Skript wird nützlich sein, und ich tue es für jeden, der Probleme mit hoher Auslastung Web-Server mit, dass unten gehen oft zu empfehlen. (wie diesem Blog)
Gehen Sie nun dieses Skript zu installieren, müssen Sie sich nie über Ihren Web-Server kümmern sterben hoher Belastung immer wieder.
Sie können auch den Wert "2" im Code etwas höher wie 5 oder 10, die länger warten, um die Web-Server abgeschaltet, wenn Last geht hoch bleibt.
Ich habe nicht den Code schreiben, von Grund auf neu, habe ich 2-3 verschiedene Skripte und mischte es bis hier ist also die Mittel habe ich für den Code ein:
Durchschnittliche Load Script - Dies ist das Haupt-Skelett ich
Check / httpd restart Script - This one I verwendet, um HTTPD-Server, bevor Sie versuchen es neu zu starten überprüfen.
Cron Task Scheduler - Ich vergesse immer wieder, dass die linke Zahl der Minuten, verdammt ist.
Hinweis - Dies ist eine einfache Lösung für Ihre speziellen Server auf 1 Server (wie diesem) zu halten, wenn Sie mehrere Server leisten können, müssen Sie auf, auf Load-Balancing der "Server", Lastenausgleich bezieht sich hier auf den Ausgleich innerhalb von 1 Server.























































