Nach der Veröffentlichung von Update 33 bedarf es, denke ich, einer Erklärung zu den Leistungsproblemen auf dem nordamerikanischen PC-Megaserver. Dieser Beitrag skizziert, was in der vergangenen Woche für unsere nordamerikanischen PC-Spieler passiert ist.
Vorweg: Letztes Jahr (was sich schon wieder Ewigkeiten weit weg anfühlt) haben wir einen Plan angekündigt, wie wir die Stabilität und Leistung von ESO erhöhen wollen, und haben fleißig hinter den Kulissen gearbeitet, dies mit jedem Update einzuarbeiten. Einer der größeren Punkte auf dieser Liste war „Database Sharding“, wohinter ein einfaches Konzept steht: Wir nehmen unsere riesige Spieler-Datenbank (DB) und teilen sie in zwei Abschnitte, einen für „aktuelle Charaktere“ und einen für „ältere Charaktere“ auf, damit nicht die gesamte DB abgefragt werden muss, wenn sich ein Spieler einloggt. Mit der Zeit ist unsere Charakter-DB (eine pro Megaserver) stetig angewachsen und vor ungefähr zwei Jahren wurde sie allein wegen ihrer schieren Größe zum Flaschenhals. Aus diesem Grund dauert der Teil des Einloggprozesses, den ihr als „Charakter wird geladen …“ seht, viel länger, als er sollte.
Der DB-Sharding-Prozess unterteilt die Charakterdatenbank in eine „Live“- und in eine „Cold“-DB. Alle Konten, die im vergangenen Jahr eingeloggt wurden, kommen in die Live-DB und alle älteren werden in die Cold-DB sortiert. Der Plan ist, dass, wenn alles abgeschlossen ist, aktive Konten ihre Charaktere aus der kleineren Live-DB laden, wenn sie sich einloggen, womit die Einloggzeit stark verkürzt wird. Ältere Charaktere werden beim Einloggen aus der Cold-DB geladen, was länger dauert, doch sobald die Charaktere auf einem Konto eingeloggt werden, kommen sie rüber in die Live-DB, damit sie nach dem ersten Einloggen schneller verfügbar sind. Diese Aufteilung der Charakteraufzeichnungen passiert dann, wenn ein Konto zum ersten Mal eingeloggt wird, nachdem das Sharding auf diesem Megaserver durchgeführt wurde. Dadurch kann das erste Einloggen länger dauern als gewöhnlich, doch danach sollte jedes Einloggen viel schneller vonstattengehen.
Die gute Nachricht ist, dass wir dies für die meisten Megaserver bereits in den letzten Monaten umgesetzt haben. Alle Konsolen-Megaserver wurden schon aktualisiert und die Einloggzeiten sind merklich kürzer.
Mit dem Wissen im Hinterkopf könnt ihr jetzt vielleicht nachvollziehen, was seit Veröffentlichung von Update 33 vorigen Montag passiert ist. Die Charakter-DB für den PC (und vor allem den nordamerikanischen Megaserver) ist sehr, sehr viel größer als für die Konsolen, denn auf PC startete ESO 2014 (vor Veröffentlichung auf Konsole) in ganz großem Stil; und all diese Konten sind immer noch da. Dazu kommen noch die ganzen Beta-Konten (und -Charaktere), die weiterhin existieren.
Update 33 kam also vorigen Montag raus und der Plan sah vor, zu warten, bis sich der Staub gelegt hat, und dann das Sharding für den nordamerikanischen PC-Megaserver anzuwerfen. Am Veröffentlichungstag haben wir die üblichen Bugs und Probleme im Spiel, die immer auftreten, nachverfolgt und damit begonnen, diese anzugehen. Und es gab in der Tat einige Probleme. Wir bekamen Berichte von Zeitüberschreitungen bei Ladebildschirmen im Spiel herein und dass die Aktivitätensuche stecken blieb. Unser erster großer Fehler bestand darin, dass wir diese Berichte den normalen Serverstart-Problemen zuschrieben, die nach einem großen Update eben auftreten. Später haben wir unsere Echtzeitüberwachung intensiviert, wodurch wir feststellten, dass die Aktivitätensuche und andere Prozesse „heiß liefen“, also plötzlich stark anstiegen, dann aber wieder auf normales Niveau zurückkehrten. Wir haben sowohl außerhalb als auch während der Hauptzeiten Anpassungen vorgenommen, um die Warteschlangenprobleme zu mindern. Doch dadurch wurde es schwierig, genau zu bestimmen, ob unsere Anpassungen wirkten oder ob die Auslastung auf den Servern nachließ. Also – und das war unser zweiter großer Fehler – entschieden wir, mit der Aktivierung des DB-Sharding auf dem nordamerikanischen PC-Megaserver weiterzumachen, ohne dass wir auf die Schwierigkeiten in der Aktivitätensuche eingegangen waren.
Und alle, die auf dem nordamerikanischen PC-Megaserver unterwegs waren, wissen, was passierte, als wir den Schalter fürs DB-Sharding umgelegt haben: Der gesamte Server wurde sehr langsam und nochmal mehr, als die Hauptspielzeit losging. Die DB-Prozesse wurden gesichert, wodurch sich alle Transfers zwischen Prozessen, also beispielsweise ein Gebietswechsel, weiter verlangsamten. Darüber hinaus wurde das Ausloggen (der Zeitpunkt, an dem die DB-Aufzeichnungen eures Charakters aktualisiert werden) und die Aktivitätensuche (bei der auf eure Charakteraufzeichnungen zugegriffen wird) so langsam, dass im Grunde gar nichts mehr ging.
Die Berechnungen und die Konzeption des Systems des DB-Shardings hatten wir unter normaler Serverleistung durchgeführt. Als wir also begannen, die Verlangsamungsprobleme anzugehen, nahmen wir natürlich an, dass wir etwas falsch kalkuliert hatten und begannen dort. Wir nahmen Änderungen vor (die sich im Herunterfahren des Servers am frühen Montagmorgen widerspiegelten), doch diese halfen überhaupt nicht. Die Leistung war Montagabend immer noch schrecklich. Dazu kam, dass wir die Fehler nur auf dem Liveserver beheben konnten und dann auch noch nur während der Hauptspielzeit, da diese Probleme vor allem auftraten, wenn der Server moderat ausgelastet war. Doch Montagabend lief wieder alles total langsam. Da wussten wir, dass es an etwas anderem liegt.
Am Dienstag haben wir uns, mit der Zusatzinfo, dass das Problem wahrscheinlich gar nichts mit dem DB-Sharding zu tun hat, jedes Log angesehen, das wir in die Finger bekamen, um herauszubekommen, wo der Flaschenhals lag, und da fanden wir den Übeltäter: Das Problem beruhte auf einem schlechten (anders ausgedrückt versagenden) Netzwerk-Port, der nicht so viel Bandbreite verarbeiten konnte, wie er sollte. Es war also gar kein Software-Problem. Die Hardware hatte versagt und bremste im Wesentlichen den gesamten Megaserver aus. Bei der Wartung am Dienstag wurde dann das Gerät außer Betrieb genommen und ein Ersatz neu konfiguriert. Sobald das stand, wurde alles wieder normal und auch der Vorgang des DB-Shardings lief wie vorgesehen – hinter den Kulissen und ohne Auswirkungen auf die Spieler.
Klar ist, wir können nichts garantieren, doch wir glauben, dass wir die Wurzel des Übels gefunden haben. Kurz gesagt: Es hatte nichts mit Update 33, kontoweiten Errungenschaften oder dem DB-Sharding zu tun, auch wenn dies alles grob zur selben Zeit passierte. Und deshalb sind wir viel zu lange einer falschen Spur gefolgt.
Ich weiß, das war für keinen von euch am PC eine glorreiche Woche. Viele konnten nicht einloggen und somit nicht von den Erforscher-Feierlichkeiten profitieren, die ihr ansonsten vielleicht genutzt hättet. Euch gingen womöglich Zeit und Fortschritt verloren, und um dies anzuerkennen, werden wir am ersten Apriltag über die täglichen Einlogg-Belohnungen fünf Schriftrollen des Lernens mit 150 % ausgeben sowie die Anzahl der Siegel für die wöchentlichen Bestrebungen in der Woche ab 4.4. für die Spieler auf allen ESO-Plattformen verdreifachen.
Es wartet im April so viel, auf das wir uns freuen: Das Fest der Narren, das Spieljubiläum und sogar noch mehr, das wir noch nicht verraten können. Wir hoffen, ihr nutzt diese Schriftrollen des Lernens während der kommenden Events mit 100 % Bonus-Erfahrung und holt das auf, was ihr vielleicht erreicht hättet, wenn das Spiel wie beabsichtigt gelaufen wäre.
Ein ganz großes Dankeschön für eure Nachsicht und dafür, dass ihr diese lange Erklärung gelesen habt. Angesichts der Umstände, meine ich, ist Transparenz wichtig.
Matt Firor
Studio Director, ZeniMax Online Studios