Ein Update zu unseren Servern
Liebe Chess.com-Community,
am 23. Januar haben wir berichtet, wie stark und schnell Schach gewachsen ist und wie herausfordernd dies für unser Unternehmen, und insbesondere für unseren "Live-Server", auf dem die Partien gespielt werden, ist. Seitdem hat das Wachstum noch zugenommen.
Am Freitag, dem 3. Februar, verzeichneten wir eine Rekordzahl von 403.000 neuen Mitgliedern, die sich auf Chess.com registriert haben. Das ist einfach nur umwerfend, aber unserer Probleme werden dadurch nicht geringer. Wir möchten uns über diesen Schachboom so gerne freuen, aber um ehrlich zu sein, haben wir mehr Schmerz als Freude empfunden, als unsere Dienste Schwierigkeiten hatten, den ganzen Datenverkehr während der Stoßzeiten zu bewältigen. Die Probleme, die so viele von Euch in den letzten Wochen erlebt haben, tun uns wirklich wirklich leid.
Glücklicherweise haben wir aber jetzt das Gefühl, ein Licht am Ende dieses Tunnels zu sehen und wir möchten Euch ein neues Update darüber geben, was wir in den letzten zwei Wochen getan und erreicht haben. Wir können Euch aber jetzt schon sagen, dass wir noch lange nicht das Stabilitätsniveau erreicht haben, das wir anstreben. Das erfordert noch eine Menge Arbeit.
Was ist passiert?
- Der Traffic auf Chess.com hat sich in den letzten Monaten mehr als verdoppelt. Allein im Jänner stieg der Datenverkehr von 7 Millionen täglichen Benutzern auf mehr als 11 Millionen tägliche Benutzer.
- Dies geschah aus vielerlei Gründen. Teilweise durch eine hohe Platzierung (in vielen Ländern sogar die Nummer 1) in App Stores, aber auch durch viele großartige Events, die tolle Schachgemeinschaft, die ihre Begeisterung für das königliche Spiel in den sozialen Medien teilt, Content-Creator, die erstaunliche Inhalte erstellen und Mittens.
- Dieser Datenverkehr hat dazu geführt, dass unsere Server und unsere Infrastruktur erheblich in Mitleidenschaft gezogen wurden. Zwei Hauptprobleme, die viele erlebt haben, sind 502-Fehler, die auftreten, wenn unsere Datenbank überlastet ist und Verbindungsabbrüche zu unseren Live-Servern, die auftreten, wenn unsere Server überlastet sind.
Was haben wir gemacht?
Die Bewältigung dieses Verkehrsanstiegs ist nicht so einfach wie das Identifizieren eines Engpasses und dessen Beseitigung. Es gibt zahlreiche Hardware- und Cloud-Infrastrukturkomponenten, die skaliert werden müssen, sowie verschiedene Optimierungen, die vorgenommen werden müssen. Hier sind einige der Dinge, die wir in den letzten zwei Wochen getan haben.
- Wir haben Hardware im Wert von ca. 2 Millionen US-Dollar gekauft (Webserver, Datenbankserver, neue Live-Schachserver, Load Balancer und Maschinen für zusätzliche Dienste). Die wichtigste Hardware wurde jetzt installiert und in der kommenden Woche werden wir noch weitere Komponenten installieren. Obwohl 2 Millionen US-Dollar nach viel klingen, wäre es viel teurer (eigentlich unbezahlbar), wenn Chess.com vollständig in einer Cloud gehostet werden würde.
- Wir haben unsere Datenbankinfrastruktur so schnell wie möglich fragmentiert und entkoppelt. Hier gab es große Fortschritte, da wir viele MySQL-Tabellen aufteilen und unseren Code umschreiben konnten, um auf diese neuen Tabellen umzuleiten.
- Zuvor haben wir viele nicht offensichtliche Software-Engpässe ausfindig gemacht und behoben.
- Wir haben festgestellt, dass einer der Uplinks zwischen unserem Rechenzentrum und einem unserer Cloud-Anbieter Datenpakete einfach verwirft, wenn zu Spitzenzeiten die maximale Kapazität erreicht wird.
- Wir haben die Anzahl der Nicht-Premium-Mitglieder, die während der Stoßzeiten auf unseren Live-Server zugreifen können, begrenzt. Diese Obergrenze haben wir aber bereits heruntergefahren und erwarten, dass wir sie bald vollständig aufheben können.
- Wir können Euch versichern, dass jeder einzelne Mitarbeiter von Chess.com, der dazu beitragen kann, diese Probleme zu lösen, an diesen Problemen arbeitet.
Was haben wir erreicht?
Dies ist kein "Mission Accomplished"-Update. Wir arbeiten weiterhin intensiv daran, das Leistungsniveau, das wir anstreben, zu erreichen. Trotzdem haben wir messbare Verbesserungen erzielt, die wir mit Euch teilen möchten.
- Wir konnten unsere "502-Datenbanküberlastungs-Fehler" um mehr als 90 % reduzieren.
- Wir konnten auch die Häufigkeit von Verbindungsabbrüchen zum Live-Server um mehr als 90% reduzieren und die Wiederverbindung im Falle einer Verbindungsunterbrechung vereinfachen.
Was ist noch zu tun?
In den kommenden Monaten werden wir weiterhin viele große und kleine Verbesserungen, von denen wir hoffen, dass sie sich positiv auswirken werden, an unseren Servern vornehmen. Hier sind einige der Änderungen:
- Wir installieren die gesamte Hardware, die uns noch geliefert werden wird, installieren, um die Kapazität weiter auszubauen.
- Unser gesamtes Engineering-Team konzentriert sich weiterhin auf die Lösung aller verbleibenden Probleme, einschließlich weiterer Datenbankarbeiten, Optimierung von Abfragen und Umstellung auf mehr Dienste.
- Wir werden mit unserem Rechenzentrum und unserem Cloud-Anbieter zusammenarbeiten, um deren Einschränkungen zu beheben.
- Wir sind dabei, unseren Live-Server neu zu codieren, damit wir von einem einzelnen Server auf einen dezentralen Server wechseln können, der horizontal über mehrere Server skaliert werden kann. Momentan lassen wir nur eine kleine Anzahl von Partien über diesen Dienst laufen (Partien von Gästen und die meisten ungewerteten Partien), da wir die Funktionen erst noch testen, optimieren und entwickeln müssen. Allerdings beginnen wir bereits diese Woche damit, auch gewertete Partien auf diesem Dienst zu testen und wir hoffen, dass wir bald die Mehrzahl der auf Chess.com gespielten Partien auf einem skalierbaren Dienst statt auf einem Megaserver hosten können werden.
Was tun wir, um das ganze Chaos wiedergutzumachen?
Wir wissen, dass viele von Euch, einschließlich Premium-Mitglieder, viele Partien aufgrund von Verbindungsabbrüchen verloren haben oder nicht in der Lage waren, auf einen Dienst zuzugreifen, für den Sie bezahlen. Das wollen wir wiedergutmachen.
- Diese Woche werden wir automatische Rating-Rückerstattungen für Partien implementieren, die aufgrund einer Serverinstabilität verloren wurden. Dies wird aber für die Betroffenen nur eine kurzfristige Notlösung sein, während wir uns mit den Kernproblemen befassen.
- Den ganzen Februar können alle Mitglieder kostenlos Puzzle Battles spielen.
- Für unsere Premium-Mitglieder werden wir noch in diesem Monat Premium-Kurse von Magnus Carlsen, Peter Svidler, Hou Yifan und weiteren Großmeistern aus der Videothek von Chess24 zur Verfügung stellen.
Schließen wir dieses Update mit Worten unseres CEOs Erik (der auch diesen Artikel geschrieben hat) ab:
"Ich fühle jeden Tag drei Dinge unglaublich intensiv:
1. Die Frustration, die unsere Mitglieder empfinden, wenn die Seite wieder instabil ist.
2. Einen unglaublichen Stolz auf das Chess.com-Team und auf alles, was dieses Team angesichts der Unvorhersehbarkeit der Ereignisse in dieser kurzen Zeit geleistet hat.
3. Hoffnung und Zuversicht, dass wir alle sehr bald an einem viel, viel besseren Ort sein werden."