LoadBalance Lösungen (Puretec..)

Bash, Shell, PHP, Python, Perl, CGI
djbennyf
Posts: 176
Joined: 2003-04-06 19:44

LoadBalance Lösungen (Puretec..)

Post by djbennyf »

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
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: LoadBalance Lösungen (Puretec..)

Post by captaincrunch »

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
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: LoadBalance Lösungen (Puretec..)

Post by dodolin »

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... :)
djbennyf
Posts: 176
Joined: 2003-04-06 19:44

Re: LoadBalance Lösungen (Puretec..)

Post by djbennyf »

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,..
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: LoadBalance Lösungen (Puretec..)

Post by oxygen »

Vielleicht solltest du einfach die User gleichmäßig auf die verschiedenen Server verteilen...
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: LoadBalance Lösungen (Puretec..)

Post by captaincrunch »

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" ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
asn
Posts: 88
Joined: 2002-06-09 15:11

Re: LoadBalance Lösungen (Puretec..)

Post by asn »

DjBennyF wrote:Da mein Server ziemlich viel Traffic, Benutzer hat möchte ich gerne mehrere Server (Puretec) kaufen.
Nur zur Info: Möchtest Du Server kaufen oder bei Puretec mieten?

Alex
djbennyf
Posts: 176
Joined: 2003-04-06 19:44

Re: LoadBalance Lösungen (Puretec..)

Post by djbennyf »

mieten... aber darum gehts ja nicht
dude4you
Posts: 49
Joined: 2003-11-25 10:01

Re: LoadBalance Lösungen (Puretec..)

Post by dude4you »

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.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: LoadBalance Lösungen (Puretec..)

Post by captaincrunch »

Wäre mod_backhand nicht auch ein möglicher Ansatz?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
djbennyf
Posts: 176
Joined: 2003-04-06 19:44

Re: LoadBalance Lösungen (Puretec..)

Post by djbennyf »

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.
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: LoadBalance Lösungen (Puretec..)

Post by alexander newald »

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.
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: LoadBalance Lösungen (Puretec..)

Post by flo »

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.
dude4you
Posts: 49
Joined: 2003-11-25 10:01

Re: LoadBalance Lösungen (Puretec..)

Post by dude4you »

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?
dude4you
Posts: 49
Joined: 2003-11-25 10:01

Re: LoadBalance Lösungen (Puretec..)

Post by dude4you »

Anonymous

MySQL Verteilung

Post by Anonymous »

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.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: LoadBalance Lösungen (Puretec..)

Post by oxygen »

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.
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: LoadBalance Lösungen (Puretec..)

Post by flo »

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.