War Thunder background
Problemy techniczne podczas ostatniego weekendu

Podobnie jak inne produkty klient/serwer, nasza gra posiada bardzo złożoną i rozproszoną infrastrukturę, składającą się z wielu różnych serwerów. Są to serwery autoryzacji, serwery do przechowywania profili użytkowników, serwery bitewne, serwer drużyn i serwer komunikacji głosowej. Wszystko to nie znajduje się na jednym urządzeniu, ale na kilkudziesięciu! Plus, serwer dopasowujący, składający się z wielu fizycznych urządzeń bram wejściowych, które są proxy, aby wyeliminować punkty awarii, oraz serwer, który faktycznie tworzy bitwy z graczy w kolejce.

Teraz trochę więcej szczegółów na temat tego, co się stało w miniony weekend. Jedna z usług bramek działała przez 375 dni, a podczas zaplanowanego restartu została załadowana błędnie skonfigurowana wersja, która używała tylko jednego rdzenia (odkryliśmy to dopiero w niedzielę) i niepoprawnie proksowała adresy IP. Początkowo wydawało nam się, że serwer był przeciążony z powodu nowo wprowadzonych pojazdów i narodu, jak również z uwagi na dużą aktualizację. Postanowiliśmy jak najszybciej zwiększyć przepustowość poprzez przejście na najpotężniejsze i najdroższe urządzenia w Amazon. Jednak nie można tego zrobić od razu, a sama przeprowadzka wymagała czasu. Ale nawet po zakończeniu przeprowadzki, problem z nieprawidłową konfiguracją i jednowątkowością pozostał. Serwer zrozumiał, że wszyscy gracze wchodzący przez tę usługę mają to samo IP, nie mógł ich szybko znaleźć i zaczął lagować. Po około 22:00, problem z niepoprawnym proxy został zlokalizowany i wkrótce potem poprawiony, a bitwy znów zaczęły działać. W nocy jednak liczba użytkowników spadła i nawet fakt, że proxy pracowały na jednym rdzeniu nie przeszkadzał w działaniu. 

W niedzielę, wraz ze wzrostem liczby użytkowników i bitew, obciążenie ponownie wzrosło, a my w końcu zlokalizowaliśmy drugi błąd w konfiguracji i w godzinach popołudniowych naprawiliśmy jednowątkowe proxy, płynnie usuwając nieprawidłowo skonfigurowane maszyny i wprowadzając nowe, tak aby uniknąć odmowy usługi dla grających już użytkowników. Ten proces również zajął trochę czasu. Należy zaznaczyć, że moc obliczeniowa była dostępna nawet przed wprowadzeniem mocniejszych serwerów - moc pojedynczego rdzenia nie była wystarczająca, ale było ich dużo. Po aktualizacji wykorzystaliśmy tylko około 6% całkowitej mocy (czyli 20-krotny zapas mocy w stosunku do szczytu).

Konkluzja

Na podstawie uzyskanych wyników wyciągnęliśmy wnioski i zaplanowaliśmy usprawnienia zarówno działania, jak i kodu dopasowującego. Po pierwsze, planujemy sprawdzić tolerancję na błędy usługi poprzez restart wszystkich serwerów z bardzo długim okresem aktywności, korzystając z doświadczeń dużych serwisów streamingowych, takich jak Netflix, które używają specjalnych botów sprawdzających czas działania. 

Ponadto, wprowadziliśmy już usprawnienia w kodzie dopasowującym, które pozwolą nam utrzymać akceptowalny poziom działania gry nawet przy dużym obciążeniu - kolejkowanie może trwać dłużej, ale serwis nie przestanie odpowiadać graczom - pozostając sprawnym. 

Dodatkowo, wzrost liczby narodów grających i możliwych konfiguracji gier w bitwach osiągnął duże wartości i wymagane są optymalizacje algorytmów. Odkrycie wszystkich możliwych kombinacji wszystkich graczy i wszystkich narodów jest kwadratową złożonością algorytmu, więc konieczne jest stworzenie optymalizacji, aby znaleźć może nie absolutnie idealne możliwe dopasowanie, ale przynajmniej wystarczająco dobre.

Więcej dobrych wiadomości. Zaloguj się do gry od 4 listopada (12:00) do 8 listopada (12:00), aby otrzymać kartę bonusową Premium, +30% PB na 5 bitew!

 

Czytaj więcej:
Oglądaj Thunder CUP 2024 i zgarniaj wyjątkowe nagrody z Twitch Drops!
  • 13 lutego 2024
Smoczy Zew: Zdobądź Obiekt 292!
  • 25 stycznia 2024
Przedsprzedaż: Centauro RGO i Strv 121B Christian II
  • 22 lutego 2024
Miecz Sprawiedliwości: Jaguar IS
  • 22 lutego 2024

Komentarze (8)

Commenting is no longer available for this news