Legújabb támogatók
#1Lowrider#2Handur#3IceCube#4frnk_ptr#5Domingo#6selmecimate#7Éva#8S. Zsolt#9Someone#10PéterKöszönöm a támogatást #1Lowrider#2Handur#3IceCube#4frnk_ptr#5Domingo#6selmecimate#7Éva#8S. Zsolt#9Someone#10PéterKöszönöm a támogatást

WoW Forever béta rajt – Tom Ellis elárulta, mi okozta a problémákat

A WoW Forever bétájának rajtja finoman szólva sem ment teljesen simán. Hosszú várólisták, belépés utáni disconnectek, lassú lootolás, késve reagáló questek és szerver restartok is nehezítették az első órákat.

Most már azt is tudjuk, hogy pontosan mi történt a háttérben.

Tom Ellis, a World of Warcraft Senior Game Producere egy hosszabb X-bejegyzésben részletesen elmagyarázta a problémák okait és azt is, hogyan sikerült ezeket megoldani. A történetről Squishei készített összefoglalót a Wowheaden.

„20 éves a játék, hogy lehet még mindig ilyen?”

Ellis rögtön azzal a kérdéssel kezdte a bejegyzését, amelyet az első este után valószínűleg nem kevés játékos feltett: hogyan lehet, hogy egy több mint húszéves játék bétájának indulása még mindig ennyire problémás?

A válasza szerint ennek egyik fontos oka, hogy a Forever béta nem ugyanazon az infrastruktúrán fut, mint az éles World of Warcraft. A teszt a Blizzard BETA PTR környezetét használja, amely Ellis szerint teljesítményben messze van egy Production, vagyis éles rendszertől.

A WoW bétái általában nem vonzanak akkora tömeget, hogy ehhez hasonló terhelésre kelljen méretezni ezt a környezetet. A Forever iránti érdeklődés azonban már a rajtnál komoly terhelést okozott, és ezzel előjött az első probléma.

Bejutottál a sorból, aztán kidobott a játék

Sokan hosszú várakozás után végre átjutottak a belépési soron, majd röviddel később egyszerűen megszakadt a kapcsolatuk.

Ellis szerint maga a login queue még nem jelentett hibát. A Battle.net szándékosan korlátozza a bejelentkezések ütemét, hogy megvédje a rendszert a hirtelen érkező hatalmas terheléstől. Az viszont már nem volt normális, hogy a játékosok a sor végére érve disconnectet kaptak.

Ennek az okát volt a legnehezebb megtalálni, és Ellis szerint nagyjából fél órába telt, mire rájöttek, mi történik.

A Forever béta környezete egyetlen REGIONAL szolgáltatást használt. A furcsa az volt, hogy a Blizzard mérései alapján ennek a CPU- és memóriahasználata teljesen rendben volt. A Battle.net Game Service oldalán sem láttak olyan terhelést, ami megmagyarázta volna a problémát.

A mérnökök végül megtalálták a valódi okot: működésbe lépett a Battle.net Game Services egyik terhelésvédelmi rendszere, a BGS metering system.

A kis béta REGIONAL szolgáltatás mindössze két kapcsolaton keresztül próbálta kezelni a rengeteg belépést. Bár a CPU közel sem volt teljesen kihasználva, ez a szokatlan helyzet aktiválta a védelmi rendszert.

A megoldás végül egyszerű volt: a kapcsolatok számát kettőről nyolcra növelték. Ellis szerint ezután gyakorlatilag azonnal megnyíltak a kapuk, és ismét nagy számban tudtak bejutni a játékosok.

A hiba a Blizzard számára is tanulságos volt. Ellis szerint jobb naplózásra és értesítésekre lesz szükségük arra az esetre, ha ez a védelem működésbe lép, ugyanis korábban nem találkoztak olyan helyzettel, amikor mindez egyértelmű CPU-probléma nélkül történt volna.

Ahogy ő fogalmazott: húsz év után is mindig jön valami új.

Mi okozta a loot és a questek lagját?

Miután a belépési problémát sikerült megoldani, előjött a következő. A játékosok hosszú lootolási időket tapasztaltak, a questek elfogadása lassú volt, és általában minden olyan művelet akadozott, amelynek kapcsolatba kellett lépnie az adatbázissal.

Ennek már teljesen más oka volt.

Ellis elmondása szerint a béta által használt PTR-adatbázis túl lassan válaszolt a lekérdezésekre. A Blizzard Oracle adatbázis-mérnökeinek manuális elemzést kellett futtatniuk az érintett táblákon, majd automatizált feladatokat állítottak be, hogy ezt időszakosan újra elvégezzék.

Erre azért volt szükség, mert több új adatbázistábla került a rendszerbe, a meglévők pedig rengeteg új adatot kaptak. Emellett új lekérdezési minták jelentek meg, miközben maga az adatállomány is folyamatosan változott.

Ellis szerint amint lefuttatták az elemzést, az adatbázis teljesítménye azonnal helyreállt.

A restartok mögött megint egy másik hiba állt

Néhány órával később újabb probléma jelentkezett. A játék szimulációját futtató WORLD poolok CPU-terhelése nagyon magasra ugrott, miközben a rendelkezésre álló memória is kezdett elfogyni.

A helyzet odáig jutott, hogy egyes virtuális gépeknél már az OOM killer is működésbe lépett. Ez akkor történik, amikor a rendszer kritikusan kevés memóriával rendelkezik, és folyamatokat kezd leállítani, hogy megakadályozza a nagyobb összeomlást.

A Classic csapat mérnökei végül megtalálták a hibát: az üres mapek nem álltak le megfelelően.

Vagyis olyan játéktérképek is tovább futottak és fogyasztották az erőforrásokat, amelyeken már nem volt játékos. Ahogy ezekből egyre több maradt aktív, folyamatosan nőtt a CPU- és memóriahasználat.

A javítás gyorsan elkészült és átment a QA ellenőrzésén, az alkalmazásához azonban újra kellett indítani a szervereket.

A Blizzard ezt az alkalmat arra is felhasználta, hogy további WORLD kapacitást adjon a rendszerhez, valamint a REGIONAL szolgáltatást is kibővítették egy további példánnyal.

Nem egyszerűen arról volt szó, hogy „kevés volt a szerver”

Ellis beszámolójából az látszik, hogy a béta első óráiban tapasztalt problémáknak valójában három különböző technikai oka volt.

A belépés utáni disconnecteket a Battle.net terhelésvédelme és a REGIONAL szolgáltatás konfigurációja okozta. A loot és a questek késlekedése a PTR-adatbázishoz kapcsolódott. A későbbi restartokra pedig azért volt szükség, mert az üres mapek nem álltak le megfelelően, és egyre több CPU-t és memóriát fogyasztottak.

Miután ezeket kijavították és a rendszert ismét elérhetővé tették, Ellis szerint a helyzet már kifejezetten simán alakult egy nyilvános béta első néhány órájához képest. A Classic csapat tovább figyelte a rendszert, és készen állt az esetleges újabb blokkoló problémák javítására.

Végül is ezért van a béta

Annak, aki az első este hosszú perceket töltött a várólistán, majd kapott egy disconnectet vagy másodpercekig várt egy lootolásra, ez nyilván nem volt túl szórakoztató.

A háttérben történteket látva viszont érdekes, hogy nem egyetlen túlterhelt szerver okozta az egészet. Rövid idő alatt három egymástól független probléma került elő, amelyek közül az egyik ráadásul olyan körülmények között aktiválta a Blizzard saját védelmi rendszerét, amilyennel Ellis szerint korábban még ők sem találkoztak.

És tulajdonképpen erre való egy béta: most kerüljenek elő ezek a hibák és szűk keresztmetszetek, ne az éles rajtnál.


Forrás: Tom Ellis (Senior Game Producer) X-bejegyzése, valamint Squishei összefoglalója a Wowheaden.

Szólj hozzá!