Отсутствие технических работ в среду, 4 декабря

Оригинал блога — https://www.eveonline.com/article/q1wbxb/no-downtime-on-wednesday-december-4th

Каждый день я думаю об обязательных технических работах и том, как их избежать.

Ежедневное отключение сервера сегодня уже не то, что было несколько лет назад. Тогда оно занимало около часа, и времени хватало на хороший, плотный перекус. Сейчас же автоматическая перезагрузка на выходных занимает около четырех минут плюс 20-40 секунд, чего хватает максимум на кружку чая. Тем не менее, каждый раз к 11:00 по времени EVE вам необходимо перебраться в безопасное место. Перезагрузка никого ждать не собирается.

Но, за более чем шесть тысяч суток жизни EVE Online, мы впервые не будем проводить плановую перезагрузку сервера в четверг, 4-го декабря! Мы впервые проведём тестовый двухсуточный прогон сервера без перезагрузки, с 11:00 UTC вторника, 3 декабря, до 11:00 UTC четверга, 5 декабря.

Это будет нашим первым шажком в сторону понимания того, как мы можем улучшить EVE Online для игроков, живущих в разных часовых поясах. Даже короткий простой влияет на удовольствие от игры, и перед третьим десятилетием надо решить эту проблему.

Во-первых, давайте пройдёмся по причинам, которые привели к появлению перезагрузки:

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

Такая вот внутренняя кухня. Мы задокументировали всё, что может пойти не так (о чём мы по крайней мере знаем), а о чём не знаем… Только тестирование поможет.

Мы знаем, что ряд вещей далёк от идеала. Так, астероидные пояса могут быть выкопаны за 24 часа, могут не обновиться среднерыночные цены, может сломаться что-либо ещё. Естественно, мы готовы к аварийному перезапуску сервера вечером 4-го числа. Время покажет.

Но почему мы решились на этот шаг, а просто не сдвинули время перезагрузки? Разве нет более подходящего времени? Правда, нет. Единственный разумный выбор — отказ от перезапуска. Другие варианты — выбор между плохими решениями.

Игроки в EVE живут во всём мире, и по временным зонам их можно разделить на три большие группы:

  • Европа, включая запад России и Африка

    • Отделены Атлантикой от Америки
  • Америка

    • Отделены Тихим океаном от Азии
  • Азия, включая восточную часть России и Океания

    • Отделены восточной частью Средиземного моря / западной частью Индийского океана от Европы (да, немного притянуто, но я использовал океаны для упрощения)

«Тихоокеанская перезагрузка»

Основной пики игровой активности видны на графике онлайна:

Первой мыслью будет перенести перезапуск на 7 часов (UTC), когда онлайн минимален. Это промежуток между американским и азиатским пиком онлайна. Позже я поясню, почему это плохая идея.

«Атлантическая перезагрузка»

Здесь ситуация следующая — численность игроков не соответствует нагрузке на сервер. Используя график загруженности процессорных мощностей на кластерах, обрабатывающих солнечные системы в качестве показателя активности игроков, мы увидим следующее:

Мы видим пики и провалы, и перезапуск сервера приходится отнюдь не на то время, о котором вы подумали.

Если вы внимательно посмотрите на пики, то увидите небольшие просадки. Это и есть текущие ежедневные перезагрузки. Они обрывают активность между 10:40 и 11:20 UTC ежедневно, идеально попадая в обеденный перерыв в Центральной Европе. EVE реальна, и требует пищи.

Глубочайшие падения на графике находятся в районе 23 часов (примерно 23:30 UTC). Это «Атлантическая перезагрузка», время, когда большинство европейских игроков закончили играть, а американские — ещё не начали.

Но перезапуск сервера в 23 часа UTC — так себе идея, несмотря на то, что это момент наименьшей активности с обеих сторон. Так, во время больших войн, это наиболее удобное время для игроков по обе стороны океана.

Помимо прочего, график показывает высокое использование процессорных мощностей и в 7 утра UTC (как упоминалось ранее), несмотря на более низкий онлайн. Связано это с тем, что американцы больше играют ночью, чем европейцы, и обрубать игровую сессию — не самое лучшее решение.

«Средиземноморская перезагрузка»

А что насчёт «Средиземноморской перезагрузки»? Это вообще наихудшее решение из трёх, связанное с высокими показателями онлайна.

Получается, все три варианта провальные. К слову, сейчас Азия получает разрыв внутри игровой сессии:
3-tz

Мы могли бы подвинуть время перезапуска на более ранее, но практически — не раньше 9:30 UTC. Возможно, так и сделаем. Будьте уверены, мы отслеживаем все показатели и думаем, как лучше выбрать время.

Но, откровенно говоря, у нас нет цели менять время перезагрузки. Как говорилось в начале блога, единственное решение — уход от неё.

Отсутствие перезагрузки в среду, 4-го декабря будет уникальным опытом! В смысле, не надо максимально логиниться в игру и ставить рекорды онлайна. Хотелось бы провести обычную среду, по возможности.

Нам необходимо определить влияние на систему для расстановки приоритетов, что необходимо поправить и определить время, которое сервер может работать без перезапуска. Например, начать с 48 часов и проводить четыре перезагрузки в неделю. Затем — увеличивать время безостановочного функционирования и снижать общее время простоя, фокусируясь на болевых точках по ходу работы.

Увидимся в космосе!

CCP Explorer

3 Likes

спасибо за перевод