PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei Load Balancing



freq.9
06.02.06, 14:34
(Ich habe nun keine Ahnung, ob dieser Beitrag hier im Forum "Server und Clients" richtig ist. Falls ich diesen Beitrag nun falsch platziert habe, würde ich einen Mod oder Admin bitten ihn an die richtige Stelle zu schieben. Danke)

Hintergrund:
Durch eine kleine Aufgabe meines Lehrers habe ich mal versucht mir über Loadbalancing ein paar Gedanken zu machen, aber da ich bis dato noch keine Ahnung davon habe wollte ich euch mal fragen, wie ihr da die Erfahrungen gemacht habt und was da so am besten ist.

Umgebung:
Es besteht ein großes Internetportal mit mehreren Tausend Zugriffen in der Stunde und ein einziger Server für Datenbank, Webserver und Mailserver ist komplett überlastet und gibt des öfteren seinen Geist auf.

Ziel:
Aufbau eines kleinen Netzwerkes welches dieser Last der Zugriffe standhält und den reibungslogen Ablauf garantiert.

Hinweis:
Aufgrund einiger Tests und der Nachvollziehbarkeit soll OpenSource Software bzw. Freeware genutzt werden. Zudem sollte die Einarbeitung sowie die Durchführung einiger Tests nicht lange dauern.

Software:
Alle Server werden unter Unix-Betriebssystemen laufen. Keinerlei Microsoft-Produkte werden in diesem Netzwerk angewendet.

Master-Server

postfix-2.2 (:25)
pen (http://siag.nu/pen) (:3306/:80)

Datenbank-Server

MySQL 5.0 (:3307)

Web-Server

Apache 2.0.x (:81)



Die Werte in den Klammern sind die Port auf den die Programme lauschen. Bei der Datenbank sowie dem Webserver wurden beide IP´s um 1 erhöht um Konflikten vorzubeugen. [F1]
Wie am unteren Ende der Grafik zu sehen ist, soll das interne Netzwerk in dem sich alle 3 Server befinden mit mind. 100Mbit/s-Karten verbunden sein.

Was ist Pen?
Pen ist ein einfacher Loadbalancer, basierend auf TCP und SMTP. [F2]

Visualisierung:
http://www.freq9.de/zeugs/loadbal.png

Fragen:
[F1] Das hab ich lediglich gelesen. Was sollten da denn für Probleme entstehen, denn ich kann doch auf Port X lauschen und wieder auf Port X woanders hinschicken.
[F2] hmmm.

Nun seid ihr dran:
- Wäre diese Lösung (theoretisch) ein einfaches Beispiel um meinen Mitschülern das Loadbalancing anhand der vorgegebenen Umgebung (s.o) zu demonstrieren?
- Ist die Software, insbesondere Pen, richtig für solch eine Anwendung?
- Sollten Datenbank- und Web-Server direkt miteinander kommunizieren oder sollte die Kommunikation über den Master-Server stattfinden?

marce
06.02.06, 14:41
Das was Du dort gemacht hast, ist nicht unbedingt Load-Balancing...

Ausserdem müsstest Du dir zuerst mal Gedanken machen, wo denn nun LB sinnvoll wäre - also wo es "hakt" und die Performance-Engpässe sind. Dann kann man sich Gedanken darüber machen, wie man das umgeht und welche Art von Loadbalancing eingesetzt wird.

z.B. haben wir hier Systeme von 15+3 App/Web.Server im Round-Robin-Mode, die auf eine DB zugreifen, 2 Web-Server mit lokaler statischer DB im RR-Mode, Server mit n Backend-DBs im Least-Connection-Mode, ... - je nach dem, was Sinn macht...

bla!zilla
06.02.06, 14:49
Wo liegt denn dein Bottleneck? Die Anbindung, die DB, der Webserver oder die Leistung der verwendeten Server? Du musst dir im klaren sein _wo_ der Engpass auftritt. Dann kannst du dir Gedanken machen wie du das Problem lösen kannst. Evtl. ist es auch nur eine schlecht geschriebene Anwendung die für die Probleme sorgt. Da bringt die ein Load-Balancer herzlich wenig.