Seite 2 - Lastverteilung bei InnoGames

Lesezeit
1 Minute
Bis jetzt gelesen

Seite 2 - Lastverteilung bei InnoGames

28.07.2021 - 14:00
Veröffentlicht in:

Lastverteilungs-Algorithmus sorgt für Ausgleich
Die Herausforderungen war es nun, herauszufinden, welcher Hypervisor einer Entlastung bedarf, ohne manuell jeden einzeln überprüfen zu müssen. Um zu bestimmen, welche virtuellen Maschinen zu migrieren sind, bildete das IT-Team Kategorien. Eine Kategorie ist ein Quadrant des obigen Diagramms, sprich oben links befindet sich die Kategorie "viel_CPU_wenig_RAM" und unten rechts die Kategorie "wenig_CPU_viel_RAM". In der Abbildung ist zu erkennen, dass einige Hypervisoren zu wenig Arbeitsspeicher und gleichzeitig viele CPU-Ressourcen frei haben.

Im ersten Schritt ging es darum, so viele Hypervisoren wie möglich von links in die Mitte zu verschieben und somit die Arbeitsspeicherauslastung zu optimieren. Hierfür bildet die IT Migrationspaare aus den jeweils gegenüberliegenden Kategorien. Es wird also von "wenig", nach "viel" migriert, um einen Ausgleich herzustellen. Liegen alle Hypervisoren in dem Toleranzbereich für das RAM, beginnt die Optimierung der CPU-Last, indem von unten nach oben migriert wurde.

Dieser Ansatz lässt sich inkrementell umsetzen. Den Anfang machen die Hypervisoren, die in den Kategorien den größten Abstand zur Mitte des Kreises besitzen. Die Distanz zur Mitte setzt sich aus einem CPU- und RAM-Wert zusammen. Anhand dieser Daten ist erkennbar, welche virtuelle Maschine auf welchem Hypervisor wie viel Last erzeugt. Diese lässt sich dann nach Auslastung ordnen und zur Migration vorschlagen.

Die Entscheidung, welche Maschine umzieht, führt jedoch zu einem weiteren Problem: Die Spielwelten von InnoGames setzen sich aus redundanten Webservern und großen Datenbanken zusammen. Eine Datenbank zu migrieren, nimmt viel Arbeitsspeicher und CPU-Zeit in Anspruch. Dadurch, dass jedoch in vielen Fällen ein Server während einer Migration neugestartet werden muss, führt die Migration zu einer kurzen Downtime für die Spieler. In diesen Fällen gilt es abzuwägen, entweder mehrere redundante Webserver zu migrieren oder eine Datenbank.

Fazit
Der beschriebene Lastverteilungsprozess lässt sich vollständig automatisieren und sehr gut skalieren. Es bedarf vergleichsweise weniger Daten und die Berechnungszeiten sind sehr kurz. InnoGames hat diese Rebalancing-Strategie letztendlich durch eine Python-Applikation implementiert. Die Entscheidung, welche Server migriert werden sollen, war die größte Herausforderung bei der Entwicklung der Anwendung. Aber letztendlich berechnet die Software die Migrationen so, dass in den meisten Fällen sowohl der Quell- als auch der Ziel-Hypervisor im Toleranzbereich landen.

 

 

Liegt der Migrationsplan vor, wird eine Abteilung per Nachricht informiert, die dann die die Migrationen händisch durchführt. Dieser Prozess kommt mehrmals täglich zur Ausführung und nähert so nach und nach alle Hypervisoren der optimalen Verteilung an. Bereits nach wenigen Tagen ließ sich beobachten, dass deutlich weniger Hypervisoren am Performancelimit arbeiten und insgesamt deutlich mehr Puffer pro Hypervisor zur Verfügung stehen. Ebenso sank die Ausfallrate aufgrund von Serverüberlastungen um 90 Prozent.
 
 
 
<< Vorherige Seite Seite 2 von 2

 

 

 


ln/Konstantin Beste, Systemadministrator bei InnoGames

 

 

 

 

Ähnliche Beiträge

Windows Server 2019: Erstellen und Verwalten von Snapshots (3)

Snapshots, oder auch Prüfpunkte, sichern VMs vor Konfigurationsänderungen oder dienen als Backup. Im Idealfall lassen sich VMs damit bei Problemen in wenigen Sekunden in den ursprünglichen Zustand zurücksetzen. Produktionsprüfpunkte berücksichtigen bei dieser Art der Sicherung sogar die aktuellen Workloads. Wir zeigen, wie Sie optimal mit Prüfpunkten arbeiten und dabei serverseitige Leistungseinbrüche verhindern. Im dritten und letzten Teil der Workshopserie erklären wir, wie sie Prüfpunkte richtig löschen und was beim Sonderfall Hyper-V-Cluster zu beachten ist.

Seite 2 - Windows Server 2019: Erstellen und Verwalten von Snapshots (2)

Prüfpunkte in Hyper-V erstellen
Hyper-V ermöglicht das Erstellen von Prüfpunkten auch ohne dass Sie Zusatzanwendungen installieren. Den entsprechenden Befehl finden Sie im Kontextmenü der virtuellen Computer im Hyper-V-Manager. Auch über System Center Virtual Machine Manager lassen sich Snapshots aufnehmen.

Windows Server 2019: Erstellen und Verwalten von Snapshots (2)

Snapshots, oder auch Prüfpunkte, sichern VMs vor Konfigurationsänderungen oder dienen als Backup. Im Idealfall lassen sich VMs damit bei Problemen in wenigen Sekunden in den ursprünglichen Zustand zurücksetzen. Produktionsprüfpunkte berücksichtigen bei dieser Art der Sicherung sogar die aktuellen Workloads. Wir zeigen, wie Sie optimal mit Prüfpunkten arbeiten und dabei serverseitige Leistungseinbrüche verhindern. In der zweiten Workshop-Folge gehen wir darauf ein, wie Sie Leistungseinbrüche durch zu viele Snapshots vermeiden und Prüfpunkte in Hyper-V erstellen und verwalten.