Сервера, чст технически

Интересует:
Почему возникают такие проблемы при обновлении?
Ведь их тестируют заранее.

Действительно так сложно работать с серверами?
Интересуют более-менее технические подробности)))

P.S. Не знал, в какой раздел отнести, но… Хей! Я так-то катать хотел!
А приходится ждать сервер…

Какие Ваши доказательства? (c) :grinning:

в то время, как интернет в плане скорости передачи данных достаточно быстро эволюционировал и увеличил их в десятки раз, скорость отдачи данных системами хранения информации за последние 20 лет увеличилась очень незначительно, из чего возникает проблема, что при большом кол-ве подключений сетевой стек справляется с отдачей данных намного быстрее, чем то же самое способно делать само хранилище данных.
примерно так. или нужны подробности вплоть до цифр?

2 лайка

а, кажется я неправильно понял вопрос.
если ты о том, почему сервера лагают на запуске обновления, то это банальная нехватка мощности серверов, слишком много людей рвутся в игру.
почему не увеличивают мощности? 1. это очень дорого. 2. сложно предсказать такое резкое повышение нагрузки. 3. в этом нет смысла, т.к. эти мощности большую часть времени будут простаивать(а им всё таки нужно окупиться как-то).
чтобы частично решить проблему лагов вводится лимит на одновременное кол-во игровых сессий, лимит этот выставляется администратором при настройке сервера. когда достигается этот лимит - всех последующих игроков, пытающихся подключится, логин-сервер выстраивает в очередь.
например у нас 30к игроков, желающих зайти, а лимит 20к - 10к будут определены в очередь.
уточни вопрос, может ещё чего напишу, как раз работаю с серверами и есть опыт администрирования игрового сервера.

3 лайка

Только из-за наплыва людей?
Не понимаю… Получается, они определили лимит. Так понимаю, при котором сервер может нормально функционировать, не так ли?

Если так, то почему не хватает мощности и возникают лаги?

Или, если лимит достигается только тогда, когда сервер начинает задыхаться, пыхтеть и молить пощады, смысл такого лимита?

Да, но это всё приблизительные значения, т.к. нагрузка на сервер от 1-го игрока не статична. т.е. условно в один момент времени 1 игрок нагружает сервер на 0.1% общей мощности, а в другой момент уже на 0,11%. когда у тебя 10000 игроков такие скачки нагрузки могут выливаться в перегруз сервера и тогда сервер “подвисает” пока не обработает данные, иногда “подвисание” может быть настолько долгим, что соединение с сервером сбрасывается и тебя выкидывает из игры.
А точно предсказать нагрузку на сервер невозможно, только со временем, когда получится собрать какую-то статистику, но проблема в том, что сервера на пике мощности работают ничтожно малый % времени 100/365*6=1,64% года, при этом для каждого патча показатель максимально допустимого онлайна может быть разным, учитывая 2 этих фактора собрать достоверную статистику не представляется возможным соответственно и выставить более-менее точный лимит тоже.

Ну, как минимум смысл в том, что хотя бы часть игроков может играть даже при такой нагрузке, если бы лимита не было - сервер бы просто падал полностью и не вставал, пока все желающие зайти в игру не разбегутся.
А ещё бывает такое, что фейлят не сервера, а коммутаторы, не справляясь с сетевым траффиком.

Даже для такой инди компании?

Это шутка? У нас проблемы с нагрузкой каждый ивент. Тут ничего предсказывать не надо.

Учитывая, что эта “инди компания” содержит свой ЦОД, а не покупает колокейшн, то да - даже для них это дорого, уж явно не стоит устранения проблемы, возникающей 6 раз за год. Для Азии, например, у них есть доп мощности, т.к. там они будут нагружены не 6 дней в году, а как минимум 200 и будут окупаться. А для ЕУ ты запустишь доп сервера, они будут жрать электричество, обслуживание и при этом простаивать почти 98,36% года.

Окей, сможешь назвать точную цифру, на которую нужно снизить лимит, чтобы проблема решилась и более того - дашь гарантию, что на следующий ивент даже после снижения лимита сервера вновь не будут перегружены?
Можно, конечно, снизить лимит на 5к мест, вот только у тебя тогда ещё больше людей будет сидеть в очереди и, вероятно, проблема очередей будет тогда возникать не только на запуске ивента, но и просто в выходные дни.

У близов есть свои сервера, но что бы целый ЦОД?

Конечно не покупает, арендует сервера амазон, именно на них крутятся игровые серверы.

Но в целом посыл верный, нет нужды оплачивать сервера которые будут простаивать большую часть времени.

При входе игру очередь идёт не на конкретный игровой сервер, а на логин сервер игры, очередь образуется из-за ограничений в обработки и логин сервер не может технически параллельно обработать 100000 запросов и выполняет их по очереди. А вот сервера игры лагают и вылетают из-за нагрузки, и тут очередь не при чём.

ну например. более того - когда-то даже можно было “блэйды” с закрывшихся ру-серверов купить.
учитывая то, насколько стар вов - было бы странно, если бы у них не было своего дата-центра, всё таки в 2004 облачного хостинга в таких масштабах ещё не было.
https://www.datacenterknowledge.com/archives/2009/11/25/wows-back-end-10-data-centers-75000-cores
https://www.tunnelsup.com/inside-the-blizzard-noc-and-datacenter/

У Близзард роль логин-сервера выполняет battle.net, поэтому когда ты заходишь в battle.net ты уже на логин-сервере, далее при запуске игры логин-сервер ищет для тебя свободные места на игровых серверах и подключает уже туда и для каждого игрового сервера определён лимит игроков, а у логин сервера есть уже свой лимит, сформированный из суммы лимитов игровых серверов.
И да, то о чём ты пишешь тоже бывает, но в таких случаях очередь рассасывается достаточно быстро максимум минут за 20.

В этой статье говориться о том, что близы используют инфраструктуру AT&T, т.е. по факту это либо колокейшн в ЦОД at&t либо арендах их серверов. Своего ЦОД у близов нет.

Это уже больше похоже на правду, но опять же, тут речь идёт о ВоВ где не нужен офигительный пинг и на одном ЦОДе они могут обслуживать и северную и южную америку и австралию. В случае в ОВ всё обстоит иначе.

Не совсем так. Входя в игру ты всё равно заходишь в логинсервер и во время авторизации синхронизируются данные с разных серверов и устанавливиются наиболее актуальные. Я могу это легко доказать, над кнопкой “играть” есть выбор региона. Если там указать регион отличный от региона при входе в бнет, то списки друзей в бнете и в игре будут отличаться, следовательно при входе в игру и дёт повторное подключение к логин серверу. Ты можешь свернуть игру и выключить бнет или разлогиниться и зайти под другим акичем, но на свёрнутую игру это не повлияет потому что она держит своё соединение с логин севером.

Опять же это не совсем так, то, на каком сервере ты будешь играть решается не при входе в игру, а при создании матча. А в лоби ты сидишь на логин сервере региона и именно на вход на них очередь.

Скорость рассасывания зависит количества пользователей и скорости обработки одного пользователя. И на разные ивенты образуются разные очереди с разной скоростью рассасывания.

давно пора понять, что все проблемы от того, что в близзард уже лет 5 работают петушары онли.

Хотелось бы задать вопрос? А где работают более лучшие сотрудники? назовите хоть я крупную компанию и аргументируйте пожалуйста ответ) У меня личный интерес в данном вопросе, так как я в виду своего перфекционизма, играю только в игры компании, которые по моему мнению лучшие в данный момент

  1. это никак не колокейш, когда ты арендуешь большую часть инфраструктуры на много лет вперёд
  2. свой ЦОД это только когда ты сам спроектировал, построил и содержишь его? а когда ты арендуешь огромные мощности, сам мониторишь и обслуживаешь их - это не твой ЦОД? ну, просто чтоб понимать, потому что для меня и то и то это свой ЦОД.

ну, как бы это никак не противоречит тому, о чём я писал. bnet же это не только приложение, а в первую очередь сеть, которая после авторизации просто раз в минуту проверяет твой статус.

ну как бы да, а в чём противоречие то? логин сервер резервирует тебе место в программном массиве, а при создании матча тебя и остальных участников матча привязывает уже к конкретному физическому серверу. мы об одном и том же пишем, но разными словами.

поэтому я и пишу, что минут 20 максимум при таком сценарии.

ну как бы проблемы с серверами есть везде, где есть необходимость обслуживать огромную массу клиентов. А в случае с Близзард я бы не сказал, что сотрудники делают что-то неправильно, т.к. даже очереди возникают всего 6 раз за год, причём только на ЕУ и сервера при этом не падают.

Начало ивента, бесплатные выходные.
А что так много людей то пришло, не понимаю! Как же такое могло случиться? :thinking:

речь не о том, чтобы предсказать сам факт повышения нагрузки, а его объём.

Товарищ Петросян, перелогиньтесь

Они никогда не угадывают.