LoadBalance Lösungen (Puretec..)
LoadBalance Lösungen (Puretec..)
Da mein Server ziemlich viel Traffic, Benutzer hat möchte ich gerne mehrere Server (Puretec) kaufen. Dazu suche ich eine LoadBalance Server Lösung. Sprich ein Server nimmt alle Requests an und verteilt diese je nach Auslastung des Apache/CPU auf die entsprechnenden Server... Hat jemand evtl ein Script?
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: LoadBalance Lösungen (Puretec..)
Dir ist aber schon gewusst, dass du da wahrscheinlich nicht jedes x-beliebige Script nehmen kannst, und du die "ultimative" Lösung hast ? Auch hier kommt's auf diverse Faktoren an, die größtenteils die "Anwendung" betreffen, die du lastverteilen möchtest.
Im einfachsten Fall könnte ein einfaches RoundRobin dir schon weiterhelfen. Ein weiterer Ansatz wäre, Web- und DB-Server zu trennen, usw. usf. Ohne nähere Angaben aber auch nur schwammige Antworten ...
Da die Frage auch nur am Rande mit dem Apachen zu tun hat schiebe ich sie mal ins Scripting
Im einfachsten Fall könnte ein einfaches RoundRobin dir schon weiterhelfen. Ein weiterer Ansatz wäre, Web- und DB-Server zu trennen, usw. usf. Ohne nähere Angaben aber auch nur schwammige Antworten ...
Da die Frage auch nur am Rande mit dem Apachen zu tun hat schiebe ich sie mal ins Scripting
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: LoadBalance Lösungen (Puretec..)
In der aktullen iX ist dazu ein ausführlicher Artikel drin (Webserver Loadbalancing), der verschiedene Ansätze dazu vorstellt. Im Ernst: Wenn du ein einfaches "Skript" hast, das das bewerkstelligst, wirst du wohl ziemlich reich werden... :)
Re: LoadBalance Lösungen (Puretec..)
Ich hab mir vorgestellt per telnet oder so einen daemon zu schreiben der auf abfrage daten liefert wie apache auslastung netzwerkauslastung gesamttraffic cpu memory swap etc...
und dass wird dann alle x minuten bei allen servern abgefragt und dann je nach dem hin und her geswitcht... nur wenns sowas schon gibt würd ich das ganze übernehmen,..
und dass wird dann alle x minuten bei allen servern abgefragt und dann je nach dem hin und her geswitcht... nur wenns sowas schon gibt würd ich das ganze übernehmen,..
Re: LoadBalance Lösungen (Puretec..)
Vielleicht solltest du einfach die User gleichmäßig auf die verschiedenen Server verteilen...
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: LoadBalance Lösungen (Puretec..)
Du könntest die zwar man folgendes anschauen http://www.redhat.com/software/rhel/as/piranha/ , ich glaube aber kaum, dass dich das weiterbringt.
Desweiteren : so etwas komplett ohne Konzept angehen zu wollen, und anscheinend noch nicht einmal etwas über die Infrastruktur dahinter erzählen zu können halte ich für (sagen wir mal) "gewagt" ...
Desweiteren : so etwas komplett ohne Konzept angehen zu wollen, und anscheinend noch nicht einmal etwas über die Infrastruktur dahinter erzählen zu können halte ich für (sagen wir mal) "gewagt" ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: LoadBalance Lösungen (Puretec..)
Nur zur Info: Möchtest Du Server kaufen oder bei Puretec mieten?DjBennyF wrote:Da mein Server ziemlich viel Traffic, Benutzer hat möchte ich gerne mehrere Server (Puretec) kaufen.
Alex
Re: LoadBalance Lösungen (Puretec..)
mieten... aber darum gehts ja nicht
Re: LoadBalance Lösungen (Puretec..)
Suche genau das gleiche, ein Router der alle Request annimmt und je nach CPU-Usage, Ping-Time, etc.. verteillt.
Kennt jemand einen Flexiblen Load-Balancer Router der den Server-Status einbezieht? Also kein Round Robin.
Kennt jemand einen Flexiblen Load-Balancer Router der den Server-Status einbezieht? Also kein Round Robin.
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: LoadBalance Lösungen (Puretec..)
Wäre mod_backhand nicht auch ein möglicher Ansatz?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: LoadBalance Lösungen (Puretec..)
Hab es immoment so gemacht.
Ein PHP Script wird via cron minütlich gestartet. Und schreibt in eine DB Die Server Infos wie CPU RAm online user, apache auslastung etc.
und auf jedem server ist in der index.php eine funtion die den günstigsten server aussucht und dahin umleitet... per dns eintrag wird immer zufällig ein server gewählt:
www IN A ip1
www IN A ip2
www IN A ip3
usw.
Ein PHP Script wird via cron minütlich gestartet. Und schreibt in eine DB Die Server Infos wie CPU RAm online user, apache auslastung etc.
und auf jedem server ist in der index.php eine funtion die den günstigsten server aussucht und dahin umleitet... per dns eintrag wird immer zufällig ein server gewählt:
www IN A ip1
www IN A ip2
www IN A ip3
usw.
-
alexander newald
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
- Contact:
Re: LoadBalance Lösungen (Puretec..)
Das Problem ist bei solchen Dingen nicht der Apache, sondern mySQL. Den Apache kann ich leicht auf mehrere Server verteilen. Das Problem bei mySQL (bzw. jeder Datenbankanbindung) ist, dass ich zwar lesenden Zugriff auch verzeilen kann, verändernden (Also INSERT, UPDATE, ALTER...) nur schwer.
Das Gleiche Problem gibt sich, wenn der Nutzer Daten per Webbrowser auf die Webseite hochladen kann. Der Abgleich der Daten auf alle beteiligten Server muss dann nach dem Upload in Echtzeit vorgenommen werden, damit nicht der eine Webserver die Datei schon hat und der andere noch nicht.
Das Gleiche Problem gibt sich, wenn der Nutzer Daten per Webbrowser auf die Webseite hochladen kann. Der Abgleich der Daten auf alle beteiligten Server muss dann nach dem Upload in Echtzeit vorgenommen werden, damit nicht der eine Webserver die Datei schon hat und der andere noch nicht.
Re: LoadBalance Lösungen (Puretec..)
Das ist Round-Robin-DNS und kein loadbalancer, sobald Du eine aufwendige Seite mit Sessions oder ähnlichem verwendest, wird es dabei zu Problemen kommen, weil die Session für den einen Zugriff auf Rechner 1 existiert aber halt nicht auf Rechner 2 ...
Ich habe ein Loadbalancing zwischen sieben Rechnern mal wie folgt hingebracht:
Grund war, extreme Last an drei Tagen mit einer Seite aushalten zu müssen, die nicht optimal geschrieben war, dadurch bei mehr als dreißig Zugriffen alle meine Rechner zum Reihern gebracht hat und da PHP-verschlüsselt, für mich keine Eingriffsmöglichkeit bot.
- Script geschrieben, das bei auftreten eines "404"-Fehlers auf einen von fünf Webservern umgeleitet hat. Hier war noch kein Teil der dynamischen Seite aktiv, da diese relative Links benutzt hat.
- www1, www2 ... www5 angelegt und www auf den die root des obigen Scripts gelegt.
- Mirrorscripte geschrieben, die den Inhalt des FTP-Upload-Verzeischnisses alle paar Minuten synchronisiert haben.
- Cronjobs angelegt, um die Ã?berwachung der Remote-Server zu ermöglichen. Die Daten dafür sind auf den Verteiler geholt worden und aus diesen Werten dann die Häufigkeit der Verteilung errechnet worden.
Und das hat funktioniert, war zwar eine quick-and-dirty-Lösung, aber hat für den Zweck gepaßt.
flo.
Ich habe ein Loadbalancing zwischen sieben Rechnern mal wie folgt hingebracht:
Grund war, extreme Last an drei Tagen mit einer Seite aushalten zu müssen, die nicht optimal geschrieben war, dadurch bei mehr als dreißig Zugriffen alle meine Rechner zum Reihern gebracht hat und da PHP-verschlüsselt, für mich keine Eingriffsmöglichkeit bot.
- Script geschrieben, das bei auftreten eines "404"-Fehlers auf einen von fünf Webservern umgeleitet hat. Hier war noch kein Teil der dynamischen Seite aktiv, da diese relative Links benutzt hat.
- www1, www2 ... www5 angelegt und www auf den die root des obigen Scripts gelegt.
- Mirrorscripte geschrieben, die den Inhalt des FTP-Upload-Verzeischnisses alle paar Minuten synchronisiert haben.
- Cronjobs angelegt, um die Ã?berwachung der Remote-Server zu ermöglichen. Die Daten dafür sind auf den Verteiler geholt worden und aus diesen Werten dann die Häufigkeit der Verteilung errechnet worden.
Und das hat funktioniert, war zwar eine quick-and-dirty-Lösung, aber hat für den Zweck gepaßt.
flo.
Re: LoadBalance Lösungen (Puretec..)
habe noch was gefunden
http://www.linpro.no/projects/lvs-kiss/config.php
ist aber nicht ganz genau richtig.
Bin mich auch gerade am schlau mache wegen Realtime Sync Software meiner beiden Server plus MySQL. Bitte poste falls du schneller was findest als ich
Du hast Details wie Usage per PHP zum Router übermittelt, kennt jemand einen anderen Weg, vielleicht ja SNMP?
http://www.linpro.no/projects/lvs-kiss/config.php
ist aber nicht ganz genau richtig.
Bin mich auch gerade am schlau mache wegen Realtime Sync Software meiner beiden Server plus MySQL. Bitte poste falls du schneller was findest als ich
Du hast Details wie Usage per PHP zum Router übermittelt, kennt jemand einen anderen Weg, vielleicht ja SNMP?
-
Anonymous
MySQL Verteilung
ich hab es zwar bisher selber noch nicht probiert, aber mysql selbst unterstützt master/slave installation. gelesen wird aus den slave datenbanken, geschrieben aber nur in den master, der das dann auf die slaves verteilt.
Ist in den neuesten MySql versionen standartmässig integriert.
Ist in den neuesten MySql versionen standartmässig integriert.
Re: LoadBalance Lösungen (Puretec..)
Datenbanken zu replizieren ist auch nicht das Problem, mal davon abgesehen das ein Datenbank-Server meistens eh reicht. Es geht um sich verändernden statischen Inhalt, z.B. Bilderuploads.
Re: LoadBalance Lösungen (Puretec..)
Nachdem der statische Inhalt eigentlich am wenigsten Last macht, würde sich da anbieten einen eigenen virtuellen Server (images.domain.de) einzurichten, auf dem so etwas dann läuft ...
flo.
flo.