Fachartikel

Lastverteilung bei InnoGames

InnoGames ist ein deutscher Entwickler von Mobile- und Onlinespielen und für "Forge of Empires", "Elvenar" und "Die Stämme" bekannt. 6500 virtuellen Maschinen laufen auf 350 Hypervisoren und sind auf drei Rechenzentren verteilt, in Spitzenzeiten fallen 1,8 Millionen Anfragen pro Stunde an. Dies erfordert rund um die Uhr Überblick über die Verteilung und Nutzung systemkritischer Ressourcen. Der Anwenderbericht stellt anhand realer Projektbeispiele einen Ansatz vor, um Lastverteilung zu optimieren und Steal Time in überlasteten Hypervisoren proaktiv und durch Automatisierung zu vermeiden.
Dass die Schornsteine der Hypervisoren nicht allzusehr rauchen, bewirkt bei InnoGames ein eigener Algorithmus zur Lastverteilung.
Als Hobby gestartet, beschäftigt InnoGames heute mehr als 400 Mitarbeiter aus über 30 Nationen. Das gesamte Portfolio umfasst sieben Live-Spiele und mehrere Mobile-Games. Um Millionen von täglichen Zugriffen auf die eigenen Server zu handhaben, braucht es stabile Systeme. Es ist wichtig, sich zu jeder Zeit einen Überblick über die Verteilung und Nutzung von systemkritischen Ressourcen verschaffen zu können, um dadurch mögliche Engpässe zu vermeiden.

Der Beginn des Anwenderberichts stellt die IT-Umgebung von InnoGames vor. Der zweite Abschnitt beschreibt den Lastverteilungs-Algorithmus, der durch inkrementelle Verbesserung das Problem von schlecht verteilten Ressourcen lösen soll.

Hypervisoren an der Belastungsgrenze
6500 virtuelle Maschinen laufen auf 350 Hypervisoren und sind über drei Rechenzentren auf der Welt verteilt. Zu Peak-Zeiten verzeichnen die Server 1,8 Millionen Anfragen pro Stunde. Ziel ist es, diese Last kann durch proaktives Umverteilen der virtuellen Maschinen gleichmäßig über die Hardware zu verteilen. Im Idealfall lassen sich täglich auftretende Schwankungen und der Einfluss von plötzlich auftretenden Ereignissen somit minimieren und ein flüssiges Spielerlebnis gewährleisten.

Jedes der Spiele hat ein unterschiedliches Auslastungsprofil. Die generelle Spitzenlast tritt täglich um 20 Uhr auf, jedoch erzeugen spezielle Events in den Spielen selbst deutlich mehr Last. Diese Events variieren zwischen den Spielen und starten zu unterschiedlichen Zeiten an unterschiedlichen Wochentagen. Hinzu kommt, dass durch regelmäßige Wartungsarbeiten an den Servern ein Teil der Hypervisoren evakuiert wird. Dabei ziehen virtuelle Maschinen auf Basis von speziellen Kriterien auf andere Hypervisoren um. Die von der IT-Abteilung genutzten Tools stellten allerdings kein Feature für die optimale Verteilung bereit.

In der beschriebenen Umgebung kam es dann in der Vergangenheit nicht selten dazu, dass einige Hypervisoren an ihre Auslastungsgrenzen stießen. Da sich die CPU-Performance durch starke Nutzung durch die Hypervisoren bei aktiviertem Hyperthreading bereits vor der maximalen Auslastung zu verschlechtern beginnt, ist es besonders wichtig, Überlastungen zu vermeiden. Zu den größten Performance-Einbußen bei den Spielen kommt es dadurch, dass virtuellen Maschinen nicht die eigentlich benötigte CPU-Zeit auf ihrem Host bekommen (Steal Time). Je näher der Hardware-Server an seine CPU-Grenzen stößt, desto ausgeprägter zeigt sich diese Stealtime. Aus diesem Grund ist es wichtig, die Auslastung der Hypervisoren ständig zu überwachen und zu optimieren.
Graphite verschafft Überblick
Die größte Herausforderung bei der Lösung des beschriebenen Problems war es zunächst, sich eine Übersicht darüber zu verschaffen, wie die Verteilung der Ressourcen zu jeder Zeit aussieht. Um nachhaltig genügend Ressourcen auf den Hypervisoren freizuhalten, interessiert dabei nicht nur die CPU-Auslastung, sondern auch die Arbeitsspeichernutzung. Als Datenquelle kam in diesem Beispiel Graphite zum Einsatz, ein Open-Source-Tool für die Überwachung von Performancedaten.


Das Open-Source-Tool Graphite liefert eine Übersicht zur Auslastung der einzelnen Hypervisoren.

Die von Graphite generierte Skala vermittelt bereits einen guten Eindruck über die allgemeine Verteilung und Nutzung der Ressourcen. Auf der Y-Achse ist die freie CPU-Kapazität der jeweiligen Hypervisoren in "Performance-Value" abgebildet. Dadurch, dass häufig unterschiedliche Hardwaremodelle zum Einsatz kommen, kann dem Vergleich nicht die prozentuale CPU-Auslastung zugrunde liegen. Der "Performance Value" setzt sich aus der maximalen Load eines Hypervisors, der Anzahl der CPU-Kerne und einem Performancefaktor zusammen. Dieser Faktor ermöglicht es, die unterschiedlichen Hardwaremodelle in Relation zu setzen.

Auf der X-Achse lässt sich die Auslastung des Arbeitsspeichers in GByte ablesen. Jeder Punkt auf dem Graphen repräsentiert somit einen Hypervisor mit seiner CPU- und Arbeitsspeicherauslastung. Punkte, die sich weit oben und nah der Y-Achse befinden, haben also viel CPU-Leistung frei, aber keinen Arbeitsspeicher.

Für eine noch bessere Visualisierung lässt sich der Durchschnitt von CPU und Memory aller Server berechnen und mit Hilfe eine Linie darstellen. Der Schnittpunkt ist die "optimale" Verteilung. Der Kreis kennzeichnet einen Toleranzbereich. Ziel ist es, im nächsten Schritt durch Migrationen der virtuellen Maschinen jeden Hypervisor in diese Schnittmenge zu manövrieren.
28.07.2021/ln/Konstantin Beste, Systemadministrator bei InnoGames

Nachrichten

Cloudinitiative GAIA-X wächst [10.09.2021]

GAIA-X, die europäische Initiative zum Aufbau einer leistungsfähigen und sicheren Dateninfrastruktur, wächst. Erst vor kurzem haben sich mit Commerzbank, Deutsche Bahn und Software AG drei Konzerne aus Deutschland dem Projekt angeschlossen. Die Notwendigkeit einer europäischen Cloudalternative scheint immer mehr Unternehmen, unabhängig von Größe und Branche, bewusst zu werden. [mehr]

NAS-Anwendungen in der AWS-Cloud [10.09.2021]

Der Dienst "Amazon FSx für NetApp ONTAP" ist ab sofort weltweit verfügbar. Mit dem AWS-nativen Managed Service basierend auf NetApp ONTAP-Software lassen sich erstmals komplette, vollständig gemanagte NetApp ONTAP-Dateisysteme in der Cloud launchen und betreiben. [mehr]

Tipps & Tools

Mitarbeiter wollen wieder öfter ins Büro [21.09.2021]

Die Präsenzkultur neigt sich ihrem Ende zu und die Vorstellung, nach Corona wieder fünf Tage in der Woche ins Büro zu gehen, ist für viele Menschen undenkbar geworden. Durch die Pandemie ist aber ebenso klar geworden, dass auch ein rein virtueller Austausch nicht des Rätsels Lösung ist. Eine Studie zu Meeting-Trends zeigt nun, dass die Deutschen ihre Kollegen vermissen und mit der Qualität von virtuellen Konferenzen unzufrieden sind. [mehr]

Die größten Aufreger bei Videokonferenzen [7.09.2021]

Videokonferenzen haben sich im beruflichen Umfeld fest etabliert. Auch wenn die Technik meist keine Rätsel mehr aufgibt: In Sachen richtiges Benehmen im Online-Meeting herrscht offenbar noch Nachholbedarf. Laut einer aktuellen Umfrage von ClickMeeting wünschen sich viele Anwender klare Benimmregeln. Fast ein Drittel ist zudem der Meinung, dass Teilnehmer in Online-Meetings eher gute Manieren vermissen lassen als bei persönlichen Meetings – und sei es auch nur eine adäquate Verabschiedung. [mehr]

Buchbesprechung

Windows 10 Power-Tipps

von Günter Born

Anzeigen