Бета открылась 17 сентября и первые часы почти не работала: очередь, а за очередью — отключение. Вечером того же дня старший продюсер Том Эллис выложил подробный разбор в X. Такие тексты от Blizzard выходят редко, поэтому разберём его целиком.
Начал он с вопроса, который сам назвал самым частым: игре двадцать лет, почему вы до сих пор не умеете это делать.
Дело в стенде, а не в игре
Первое, что Эллис объяснил, — где всё это крутится.
This is our BETA PTR environment stack, it's not a Production stack by a long, long, long, long, long, long shot.
То есть бета живёт на стенде PTR, а не на боевом. Причина не в экономии: беты WoW исторически почти не дают нагрузки, и железо под них никогда не закладывали всерьёз. Тестовая среда работает на одном региональном реале. Отсюда и выросли все три проблемы того вечера.
Первое: отключения
Искали полчаса, потому что искать было нечего. Процессор и память по всем сервисам были в порядке — «bored even», по словам Эллиса. Команда Battle.net Game Service проверила свою сторону и увидела то же самое.
Причиной оказался счётчик нагрузки, который защищает BGS от обвала. Маленький региональный стенд гнал огромный поток входов через два соединения, и это ломало арифметику, по которой счётчик решает, пора ли паниковать. Соединений сделали восемь — отключения прекратились мгновенно.
Эллис отметил, что счётчик впервые сработал без сопутствующей нагрузки на процессор, и добавил строчку, которую потом растащили на цитаты: «20 years, always something new».
Второе: тормоза при добыче и сдаче заданий
Второй симптом — медленно открывается добыча, медленно берётся задание. Здесь виновата база данных PTR: новые таблицы и большой поток вставок в старые оставили планировщик запросов со старыми представлениями о данных.
Инженеры Oracle прогнали статистику вручную и поставили автоматические задания, чтобы пересчёт шёл сам. Скорость вернулась сразу.
Третье: перезапуск
Через несколько часов пришлось выгнать всех. Пулы WORLD, на которых считается сама игра, жгли процессор и упирались в память, а первые виртуальные машины уже начал забирать OOM killer — с риском утянуть за собой гипервизор.
Причину нашли инженеры Classic: пустые карты не выключались как надо, и серверы медленно съедали собственные ресурсы. Исправление прошло проверку, но требовало перезапуска. Заодно добавили запасных WORLD и второй экземпляр регионального сервиса.
После этого, по словам Эллиса, ночь прошла тихо: «Marked live once again and you all poured in without fuss».
Почему нагрузку не угадали
Потому что таких чисел не было давно. Ведущий дизайнер Джош Гринфилд (Aggrend) написал в X:
Man, it was hard to sleep last night, I was so excited. Beta has been... crazy. The craziest numbers I've seen in 17 years working at Blizzard and almost 8 years on classic. We've got something really special here.
Семнадцать лет в Blizzard и почти восемь в команде Classic — и таких чисел он не видел. Стенд под бету закладывали по опыту прошлых бет, а пришла аудитория запуска.
Что из этого следует для 4 ноября
Прямо — ничего. Боевой стенд к бете отношения не имеет, и ни один из трёх сбоев не говорит о готовности игры. Косвенно — кое-что говорит: спрос оказался выше внутренних прогнозов самой Blizzard, а значит очереди на старте стоит закладывать в планы.



