Load/Traffic Balancer

Backup, Restore und Transfer von Daten
snuke
Posts: 5
Joined: 2006-03-07 21:05
 

Load/Traffic Balancer

Post by snuke »

Hallo zusammen

Ich habe ein recht hohes Trafficaufkommen von ca 20-30 TB pro Monat.
Dieser Traffic soll durch 3 Server ausgeliefert werden. Ich habe nach einigen Lösungen gesucht und möchte nun den Traffic nicht über verschiedene Subdomains aufteilen, sondern durch eine "balancer" Software teilen.

Sprich:
Client --> Server1 --> (weiterleiten)Server2:80/Server3:80/server1:8080 --> Client

Alle Anfragen kommen per Subdomain auf Server1, welcher dann entscheidet, wohin die Anfragen gehen.

Ich habe "pen" im Einsatz. Allerdings habe ich jetzt das Problem, dass der Traffic nur bei Server1 entsteht (Laut Statistiken vom Provider). Server2 und Server3 haben kein Trafficaufkommen, obwohl auf diese Server anfragen kommen. Dies sehe ich auch an den Apachelogs und durch meine Tests (Alle Server ausser 1 "ausschalten").

Laut meinem mrtg ist der Traffic der Server so:
Server1: in 3500K/s -- out 3600K/s
Server2: in 12K/s -- out 1600K/s
Server3: in 14K/s -- out 1650K/s

Pen agiert sozusagen als proxy. Meine Frage daher: Funktioniert das so überhaupt oder wird eine Anfrage über den Proxy an den Client zurückgeschickt und fällt deshalb der Traffic bei Server1 3 mal so hoch an?
Und wieso wird beim Provider der Traffic nur bei Server 1 gelistet (die anderen haben nur einige MB Traffic, die von Installationen kommen).

Ich hab das Gefühl, dass Server 1 bei den anderen Servern anfragen und dann das File zu ihm kommt und dieser liefert das File auch wieder aus. Das würde auch den hohen IN Traffic erklären.

Für mich sieht das nach
Client --> Server1 --> Server1:8080/Server2:80/Server3:80 --> Server1 --> Client
aus. Und das will ich definitiv nicht...



Vielen Dank für alle Ideen und Gedankenstösse.
Andy
Last edited by snuke on 2006-10-13 22:35, edited 2 times in total.
snuke
Posts: 5
Joined: 2006-03-07 21:05
 

Re: Load/Traffic Balancer

Post by snuke »

*** Sorry, leider total falscher Bereich, sollte in "Allgemeine *NIX-Serverfragen mit Tiefgang" rein. ***
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Load/Traffic Balancer

Post by Roger Wilco »

snuke wrote:Meine Frage daher: Funktioniert das so überhaupt oder wird eine Anfrage über den Proxy an den Client zurückgeschickt und fällt deshalb der Traffic bei Server1 3 mal so hoch an?
Letzteres.
snuke wrote:Und wieso wird beim Provider der Traffic nur bei Server 1 gelistet (die anderen haben nur einige MB Traffic, die von Installationen kommen).
Vielleicht wird "interner" Datentransfer nicht berechnet?
snuke wrote:Ich hab das Gefühl, dass Server 1 bei den anderen Servern anfragen und dann das File zu ihm kommt und dieser liefert das File auch wieder aus. Das würde auch den hohen IN Traffic erklären.
Ja, so wie du es eben eingerichtet hast.
snuke wrote:Für mich sieht das nach
Client --> Server1 --> Server1:8080/Server2:80/Server3:80 --> Server1 --> Client
aus. Und das will ich definitiv nicht...
Dann besorg dir einen richtigen Loadbalancer. Alternativ könnest du Teile der Präsenz auf die 3 Server verteilen, wobei wir wieder bei den Subdomains wären...
snuke
Posts: 5
Joined: 2006-03-07 21:05
 

Re: Load/Traffic Balancer

Post by snuke »

Danke für die Klärung so weit.

Hmm... Okay, ich habe angenommen, dass die Anfragen direkt zum Client geleitet werden und nicht durch den Proxy zurück. Wahrscheinlich wird interner Traffic nicht berechnet, da der wohl am Router gemessen wird und nicht beim Switch. Alles klar.

Dann habe ich jetzt eine andere Frage:
Gibt es eine Software Lösung, die dies erledigt?
Im Moment fehlt mir das Geld für einen Hardware Balancer. Ich habe angenommen mit Software könne man ähnliches erzielen. Ansonsten werde ich es mit den Subdomains probieren, auch wenn ich dies verhindern wollte, da ich dadurch Teile der Seite umschreiben muss.

Gruss
Andy
r. u. serious
Posts: 88
Joined: 2006-06-10 14:17
 

Re: Load/Traffic Balancer

Post by r. u. serious »

Kann es sein, dass du einen Denkfehler hast? AFAIK läuft auch bei einem richtigen Loadbalancer der Traffic in beide Richtungen durch den Loadbalancer. Vielleicht verwechselst du es mit Round Robin DNS?
lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57
 

Re: Load/Traffic Balancer

Post by lord_pinhead »

Wie gesagt wäre Round Robin so ziemlich das einfachste für soetwas. Wer Bind 9 hat muss auch nicht mehr die Option rrset-order verwenden. Einfach in der Zonefile folgendes eintragen:
--snipp--
www IN A 192.168.2.110
IN A 192.168.2.111
IN A 192.168.2.112
--snipp--
(das www ist optional)

Bei der Domain:
--snipp--
zone "domain.tld" in {
type master;
notify no;
file "/etc/bind/intranet.zone";
allow-query { any; };
};
--snipp--
Nach dem Restart gibt dein Bind (sofern Authoritive) die Adressen aus die du dort eingetragen hast, und das in wechselnden Abständen, mehr brauchst du nichtmal machen. Das wäre jetzt die primitivste Lösung eines Loadbalancings, der Abgleich der Daten ist aber eine kleine Herrausforderung wenn man keine NAS zur hand hat.

Zweite möglichkeit wäre ein Proxy auf die Domain zu setzen, z.b. hanswurst.de und dieser erledigt das Loadbalancing indem er auf www1.hanswurst.de, www2.hanswurst.de www3.hanswurst.de umleitet. Will jetzt keine Werbung machen, aber alternate.de scheint das so gelöst zu haben. Dort sind dann einfach die Domains www1.alternate.de, www2.alternate.de usw. im DNS eingetragen und der User wird beim Ansurfen von alternate.de ja umgeleitet.

Letzteres hab ich allerdings nie in der Praxis probiert, also heißt es googeln ;)

Edit: Was micht dabei mal interessieren würde, wie macht man jetzt seinen Datenabgleich? Ich meine, Dateien sind einfach, da nimmt man rsync. Aber Datenbanken wären jetzt eine Frage die mir auf der Zunge liegt, Replikation kann ich ja wohl ausschliessen oder?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Load/Traffic Balancer

Post by Joe User »

Lord_Pinhead wrote:Edit: Was micht dabei mal interessieren würde, wie macht man jetzt seinen Datenabgleich? Ich meine, Dateien sind einfach, da nimmt man rsync. Aber Datenbanken wären jetzt eine Frage die mir auf der Zunge liegt, Replikation kann ich ja wohl ausschliessen oder?
Dafür hat man dedizierte DB-Server (Replikation oder Cluster)...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
kama
Posts: 51
Joined: 2004-05-11 22:07
Location: Aachen
 

Re: Load/Traffic Balancer

Post by kama »

Hallo,
Dann besorg dir einen richtigen Loadbalancer. Alternativ könnest du Teile der Präsenz auf die 3 Server verteilen, wobei wir wieder bei den Subdomains wären...
Damit wird aber keine Lastverteilung erreicht.
Die Einzige Lösung bei soch einer Last und den Datentraffic ist schlicht und ergreifend ein Loadbalancer (Hardware) und ein wenn nicht sogar zwei dedizierte Datenbankserver (als Cluster) betrieben.

MfG
Karl Heinz Marbaise
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Load/Traffic Balancer

Post by Roger Wilco »

kama wrote:Damit wird aber keine Lastverteilung erreicht.
Stimmt schon, mit der Erstellung der einzelnen Subdomains ist es nicht getan. Habe ich aber auch nicht behauptet.
Wenn die Applikation aus mehreren trennbaren Einzelkomponenten besteht (z. B. Forum, restliche Webseite), kann er die Einzelkomponenten auf verschiedene Server verteilen. Dann wäre bei einem Ausfall auch nur ein Teil der Präsenz betroffen.

EDIT: Ich habe die Links glaube ich schonmal gepostet. Möglicherweise helfen dem OP folgende Denkanstöße:
http://poocs.net/2006/3/13/the-adventur ... ng-stage-1
http://poocs.net/2006/3/18/q-a-the-adve ... ng-stage-1
http://poocs.net/2006/3/20/the-adventur ... ng-stage-2
http://poocs.net/2006/3/27/the-adventur ... ng-stage-3
http://poocs.net/2006/4/3/the-adventure ... ng-stage-4
http://blog.innerewut.de/articles/2006/ ... nd-mongrel