Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Tranquility Tech III уже ждет вас!

девблог Tranquility tech III перевод

  • Авторизуйтесь для ответа в теме
24 ответов в теме

#1
Cloned Mark

Cloned Mark

  • -10.0
  • PipPipPipPipPip
  • 1871 сообщений
212
  • EVE Ingame:Cloned Mark
  • Corp:Slozhno
  • Ally:MI22
  • Client:Eng

*
Одобрено
сообществом!

Tranquility Tech III уже ждет вас!

 

(ссылка на оригинал девблога)

 

 

RACK.jpg

 

Прошла примерно неделя с тех пор, как мы в первый раз сняли режим VIP-доступа в нашем новом дата-центре, и мы наконец можем сказать – ОПС УСПЕШЕН!

В тот насыщенный событиями понедельник, 29 февраля – все начиналось довольно жестко, но мы чертовски гордимся нашим достижением.

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

 

Цели

 

Без сомнений, «Tranquility Тech III» (усовершенствование и перенос главного сервера EVE Online) это самая масштабная миссия, которая ложилась на плечи операционного отдела CCP. Она включала в себя год планирования, обсуждения наилучших подходов, тонну бумажной работы, сложную трансферную логистику, наконец – будущий безопасный переезд с места на место.

В начале, мы внимательно посмотрели на сервер Tranquility, и выделили несколько элементарных и более серьезных возможностей для апгрейда.

 

Что мы задались целью сделать в рамках проекта TQ Tech III:

  • Улучшить надежность и стабильность «железа»
  • Повысить производительность всего кластера
  • Улучшить сетевое подключение
  • Перенести тестовые сервера в Исландию, для уменьшения разброса наших месторасположений

 

Наш текущий контракт с дата-центром заканчивался в последний день марта, и мы поставили себе цель закончить со всем 29 февраля, в «високосный день».

 

Начнем наш рассказ за несколько дней до «большого переезда», чтобы у вас сложилась полная картина событий.

 

Среда, 17 февраля – Узел «Эверест» выдал «синий экран смерти»

 

После многих лет надежной службы, узел «Эверест», ответственный за главный торговый хаб в игре, Житу – выдал «синий экран смерти», и весь рынок с игроками был перенесен на менее мощный узел.

Я просто хотел упомянуть это событие, так как узел превосходно работал и реально был рассчитан еще лет на 12 работы. К счастью, он вернулся к жизни после перезагрузки и снова продолжил работать после следующего даунтайма, уже до самого конца своего “дежурства”...

 

Среда, 24 февраля – Обновление операционной системы и версии SQL

 

24 февраля, в среду, у нас был расширенный даунтайм, во время которого мы обновляли базы данных сервера до Windows 2012 R2 и SQL 2014.

 

О деталях процесса нам расскажет CCP DeNormalized:

 

У чего есть 5 частей, что живет в 2 зданиях и разделено океанами и континентами?

 

Это кластер базы данных EVE Online.

 

Так вот, во время того самого расширенного даунтайма – мы сделали огромный шаг к будущему переносу нашего дата-центра.

Одна из главных проблем, которую нам нужно было решить – придумать, как перенести 2.5-терабайтную базу данных из одного дата-центра в другой, с кратчайшим временем ее выключения. Вдобавок к переносу, нам нужно было обновить версии ОС и SQL (с Windows 2008 R2 до Windows 2012 R2, и SQL 2012 Enterprise до SQL 2014 Enterprise).

 

Из этих двух проблем – больше всего нас волновало обновление до SQL 2014. Скорее даже не обновление, а план отступления, если нам придется откатываться обратно.

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

 

Мы решили, что менее рискованно будет обновить сервера с БД Tranquility до  Win2012/SQL 2014 пока мы еще находимся в нашем текущем дата-центре. В день “большого переезда” нам придется меньше волноваться по этому поводу, а здесь и сейчас мы будем работать в знакомой среде, если вдруг что-то пойдет не так.

 

Вдобавок к этому, мы выбрали предпочтительный способ переноса базы данных в новый дата-центр – репликацию с использованием SQL AlwaysOn. Мы не могли так сделать раньше, так как сервера при этом должны работать на одной и той же версии ОС Windows.

 

Итак, план был следующий: объединить два отдельных экземпляра БД, по два узла в каждом, в один кластер Windows – и использовать AlwaysOn для синхронизации баз данных. Это дало бы нам возможность вернуться с нового дата-центра в старый, если бы нам вдруг захотелось (вообще очень не хотелось, но такое желание могло резко возникнуть!!!)!

 

Частично, это все заняло так много времени потому что мы еще добавили довольно впечатляющий (нам так казалось) способ тестирования во всю эту затею…

 

Мы начали с того, что отключили пассивный резервный узел нашего “боевого” кластера БД, обновили его до последней версии ОС, и подключили его к существующему Windows-кластеру в новом дата-центре, чтобы создать новый одноузловой SQL-кластер. Много работы ушло на покрытие одним Windows-кластером двух дата-центров, огромное спасибо нашим сисадминам и специалистам по сетям.

 

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

 

Итак, в 09:00 GMT мы все выключили и продолжили! Сделали несколько вещей, таких как перенос IP со старого кластера на новый одноузловой кластер, и скопировали малые базы данных на новые диски. Касательно больших – мы просто переназначили SAN-разделы, и переподключили базы данных.

 

Это подводит нас к обновлению БД. Если мы подключаем экземпляр БД на SQL 2012 к нашему новому экземпляру на SQL 2014 – более старый экземпляр поддается обновлению, после чего он становится несовместимым со всеми предыдущими версиями SQL. Если по какой-либо причине тут что-то идет не так – у нас не остается выбора, кроме как делать восстановление данных из резервных копий, которые мы сделали ранее утром.

Нам бы не удалось просто переместить разделы базы назад на старый кластер (который все еще работал на одном узле, как наш запасной вариант).

 

Нам пришла в голову блестящая идея: перед тем как подключить разделы на SQL 2012 к новому 2014-кластеру, мы сделали SAN-снимки этих разделов. Затем, скормили эти снимки новому кластеру, подключили базы данных с дисков со снимками, и позволили им проапгрейдиться до новой версии. Потом запустились в режиме VIP-доступа, чтобы посмотреть, как все прошло. Все выглядело замечательно, так что мы отключили те базы данных: убрали снимки, и подключили к кластеру “реальные” диски, после чего повторили все заново после перезагрузки.

Все эти манипуляции заняли много времени, что внесло свою лепту в срыв назначенных сроков, но мы знали, что это того стоило!

 

Мы добавили диски к кластеру, назначили точки установки, подсоединили базы данных, и запустили Tranquility в VIP-режиме снова. Йухуу, все выглядело просто превосходно, так что мы “открыли ворота”!

 

Вскоре после открытия, мы вернулись к нашему старому кластеру и забрали у него последний узел. Добавили его к новому кластеру, и у нас снова есть резервирование!

В основном, все прошло гладко… Мы столкнулись с несколькими проблемами в плане включения дисков, и это привело к паре перезагрузок (каждая по 15 минут). Это стоило нам еще немного времени, но мы были удовлетворены тем, что успешно прошли этот этап.

 

CCP DeNormalized

 

Пятница, 26 февраля – Непредвиденный даунтайм базы данных

 

На этом этапе все было отлично, и мы готовились к включению, AlwaysOn работал как надо. Старый TQ остался стабильным после апгрейда БД, как мы и ожидали, на примере нескольких предыдущих апгрейдов.

 

Мы были уверены положении дел, пока в 19:50 GMT не начали получать в логах ошибки о так называемых «грязных страницах», копящихся в памяти SQL-сервера.

 

После краткого взгляда на проблему, в 20:15 GMT мы решили не играться с хот-фиксом в онлайн-режиме, а выключить TQ, чтобы избежать потери данных. Так что пока сервер был выключен, мы могли расследовать ситуацию вместе с Microsoft Premier Support.

 

Открываем заявку с наивысшим приоритетом, и примерно через 30 минут с нами по скайпу связался старший SQL-разработчик, которому мы расшарили наш монитор, чтобы дебаггинг шел быстрее, вместо того чтобы тянуть резину по e-mail / телефону.

 

Через некоторое время мы услышали «А, так это же EVE тут у вас! Надо бы мне вернуться поиграть снова!». Действительно приятно знать, что на другом конце линии сидит капсулёр!

 

У него был довольно крутой способ безопасно перенести эти «грязные страницы» из нашей RAM на диск, чтобы они остались у нас для бэкапа. Если по-простому – он уменьшал доступную RAM по маленьким кусочкам, чтобы количество «грязных страниц» уменьшилось, и мы могли продолжать с процессом бэкапа.

 

Для пущей уверенности, мы хотели сделать полную резервную копию TQ, пока он был в VIP-режиме, что заняло какое-то время. VIP-режим продлили до 23:50.

 

Корень зла, похоже, таился где-то в особенностях репликации БД, которые не должны были ни на что повлиять, но в IT же часто случаются всякие неожиданности.

 

Когда мы взяли проблему под контроль, то сразу провели оживленную дискуссию насчет того, как быть дальше. В итоге, победил менее рискованный вариант, и все согласились остановиться на варианте переноса БД с помощью восстановления из резервной копии.

 

Понедельник, 29 февраля – Високосный день, переезд

 

Так как мы бросили затею с SQL AlwaysOn, то подкорректировали наши ожидаемые сроки завершения работ, и были уверены, что в 14:00 GMT закончим.

 

В 08:00 GMT все были готовы к началу работ.

 

После отмашки на старт – атмосфера вокруг начала искрить, и царило всеобщее возбуждение по поводу предстоящего дня. В 09:00 TQ был выключен, последний раз в своем старом доме.

 

Мы начали выполнять все намеченные действия. Ощущая, что вполне укладываемся в график, приблизились к отметке времени 10:30 GMT. Запустили TQ в первый раз, и прогнали пару проверок, после чего снова выключили сервер.

 

К 11:00 мы запустили сервер целиком, включая все дополнительные компоненты вроде SSO, VGS, API и т.д., и наша команда разработки начала тестирование.

 

Было обнаружено множество мелких проблем, они устранялись на лету, примерно как если бы в реанимации у нас случился внезапный приток пациентов, и операционный отдел с разработчиками EVE оперировали их один за одним, в порядке степени тяжести, пока все сервисы до одного не заработали.

 

На данном этапе график начал поджимать, но мы не хотели идти по пути кратковременных решений проблем, нужно было все делать правильно. Если бы понадобилось – мы продлили бы даунтайм. Что и случилось: в 13:30 мы продлили его на час.

 

Вскоре после продления – все вроде бы встало на свои места, и в 14:20 мы запустили TQ в VIP-режиме, для последних проверок, чтобы быть на 100% уверенными во всем. Наконец, в 14:27 мы сняли VIP-режим. И наступил славный момент, когда мы увидели поток игроков, заходящих на сервер…

 

...и наше празднование длилось недолго, так как лаунчер забил тревогу, и веб-сайты начали ломиться от нагрузки. После того, как все немного поутихло, и логины игроков начали проходить корректно  – вот тут-то и случился “большой бабах”. Совсем не в хорошем смысле.

 

БДЫЩ! ЦП баз данных TQ достигли 100% загрузки, без малейшего предупреждения или намека на то, что нагрузка увеличивается, практически мгновенно. Так что дальше – сказ о 5 запусках:

 

DOWNTIMES.png

 

1. Тут мы были счастливы, что все прошло замечательно, реально счастливы.

  • Через 90 минут работы мы наткнулись на внезапную 100% загрузку процессоров, диагностика показала, что все дело было в хранимой процедуре, которая пошла по очень плохому плану SQL-запроса.
  • Мы видели, как это бывало на TQ ранее, но это случалось очень, просто крайне редко, и именно сегодня нам так не повезло. Мы выключили сервер, разобрались и снова его включили.

 

2. Мы очень боялись, что во второй раз это снова случится, так что пока отложили празднования

  • И опять-таки лаунчер и веб-сайты начали ломиться от налета игроков, но все устаканилось, как и в первый раз.
  • И после 90 минут мы снова наткнулись на такие же симптомы, только дело было уже в другом наборе хранимых процедур. Снова плохой план запроса ронял сервер, чего не должно было случиться, т.к. статистика по индексам в таблицах была недавно собрана.
  • Мы объявили “красный код” и свистали всех наверх. Разработчики нашли решение проблемы с процедурами, хотя были согласны с разработчиками базы данных в том, что это все просто какой-то бред, и такого происходить не должно.
  • Мы выключили сервер и применили хот-фикс.

 

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

 

4. Тут мы уже приближались к ночи, и видели, что социальные медиа вполне объяснимо негодуют. Но находились и позитивные посты, которые бустили нам мораль, спасибо вам за это :)

  • Здесь мы еще были уверены, что хот-фикс нам поможет.
  • Мы снова увидели падение производительности из-за лаунчера и веб-сайтов, но мы добавили ресурсов для фронт-энда, и у нас не было проблем с внезапным приростом пользователей.
  • Мы наблюдали за обратным отсчетом таймера, установленного на 90 минут, и я не могу описать чувство, когда мы подошли к отметке 90… ииии, сервер опять рванул в 100% загрузку процессоров БД.
  • Похоже, что предложенное разработчиками решение не работало, как и все остальные предпринятые меры. Мы начали подумывать об откате всего, но решили сначала перенести SQL-кластер на пассивный узел, и изменили настройки выделения места под RAM.
  • Пришлось снова все выключать, и ход вещей принимал весьма грустный оборот, если не сказать больше.

 

5. Пятый раз – все как по маслу.

  • Мы снова обнулили 90-минутный таймер. Передаем благодарности CCP Seagull, которая появилась вскоре после полуночи с добавкой RedBull’а и вкусняшек :)
  • Опять воцарилось гнетущее ожидание, все следующие шаги обещали быть очень тяжелыми, если бы мы выбрали сценарий полного отката.
  • В 23:47 мы были готовы к 5 запуску, и включили VIP-режим.
  • Одна часть команды пошла домой, чтобы выйти уже днем, пока другие задремали в митинг-румах, чтобы подменять друг друга в течении ночи.
  • Мы смотрели на счетчик, который дошел до 80 минут...85….88..….90……….91…………………….92, а потом достиг 2-часовой отметки, позже – 2.5-часовой, и наконец – 3-часовой отметки стабильной работы сервера, после чего все поняли, что мы наконец справились!

 

TQ работал гладко той ночью, и так как мы поставили себе целью запустить все 29 числа, а в ходе пятого запуска VIP-режим был снят до полуночи, получается, что мы достигли наивысшего уровня поставленных целей.

К сожалению, примерно в 09:00 GMT 1 марта, TQ выключил себя из-за того, что одну из настроек автоматического начала даунтайма забыли перевести на обычное значение 11 часов дня. Простейшая человеческая ошибка.

 

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

 

TQ Tech III – Текущее положение дел

 

Уже прошло несколько дней, и даже была одна битва в Hakonen, где бились в общей сложности около 1500 пилотов. Битва проходила на одном из 25 «стандартных» узлов TQ Tech III. Шесть усиленных узлов все еще ожидают надлежащей битвы. Так что мы ждем с нетерпением, когда сможем посмотреть, на что же они способны.

Мы уже видели отчеты о положительном и негативном фидбэке, который помог нам в тонкой настройке «железа».

 

Чтобы продемонстрировать степень улучшения, вот вам графики от CCP Quant:

 

Изменения в производительности

 

Результатом внедрения TQ Tech 3 вместе с “Brain in a box” стало заметное улучшение производительности, но насколько заметное? Вот графики того, как изменилась нагрузка на сервер, чтобы вы получили представление о масштабах, и о том, как эти изменения повлияют на ваш геймплей:

 

cpu_by_node_type_stacked_all_wlogo.png

 

Здесь показано общее среднее процессорное время в расчете на пользователя, по каждому типу серверного узла. Не сильно вчитывайтесь в цифры, они абстрактные и призваны лишь предоставить шкалу для сравнения. Среднее процессорное время в расчете на одного пользователя теперь составляет примерно 40% от того, каким оно было до запуска “Brain in a box”. Далее – частные случаи этого графика, для геймплея в империи, червоточинах и торговли, чтобы продемонстрировать несколько примеров:

 

cpu_by_node_type_stacked_market_wlogo.pn

 

cpu_by_node_type_stacked_WH_wlogo.png

 

cpu_by_node_type_stacked_empire_wlogo.pn

 

Вы можете увидеть, насколько лучше будет отклик, который вы можете ожидать от маркета в Жите, к примеру. Эти изменения не только ускоряют общий отклик сервера, но и делают большие флотовые бои более жизнеспособными.

 

Вот очень интересный график, показывающий нагрузку на процессор и коэффициент замедления времени (Time Dilation) узла, на котором была размещена система Hakonen, когда в ней происходил бой 2 марта:

 

hakonen_tidi_wlogo.png

 

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

Замедление времени не может падать ниже 10% от нормального, так как после этого очередь задач на сервере начинает переполняться, и игроки начнут испытывать вещи вроде неработающих модулей и т.п, что в итоге приведет к падению узла.

Глядя на этот график, мы видим, что замедление времени падало до 10% несколько раз, но в общей сложности – не более пары раз по 5 минут. Это значит, что все кто испытывал какие-то трудности, скорее всего испытывали их именно в эти периоды. Пока замедление больше 10% – узел успешно обрабатывает очереди задач с помощью замедления, и как мы тут видим, вместо постоянного 10% уровня, у него получалось оставаться где-то между 10-20% на пике событий битвы.

 

CCP Quant

 

Немного о будущем

 

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

В частности, мы планируем использовать автоматизированное сетевое решение для динамической маршрутизации на основе BGP, которое проверяли еще когда TQ был на старом сервере. Оно активно ищет лучшие сетевые маршруты, чтобы перенаправлять соединения через подсети, если найдется лучший маршрут для вас. Это все происходит без закрытия сокета, естественно. Тесты прошли с отличными результатами.

 

Также, мы решили избавиться от одного из наших сетевых провайдеров, и подписали договор с другим. В основном, если провайдер недостаточно хорош для игроков, мы перестаем с ним сотрудничать, чтобы найти кого-то понадежнее, готового принять наши вызовы.

 

Автоматизированное сетевое BGP-решение, в свою очередь, может вступить в работу в любой день, так что следите за блогами.

 

У нас теперь более мощные граничные маршрутизаторы. Вот письмо от одного из наших сетевых магов:

 

«Граничный маршрутизатор в новом дата-центре теперь получает в общей сложности 2.9 миллиона BGP-маршрутов от 23 пиров. Пока вычисляются наилучшие таблицы маршрутизации на этом новом роутере – процент загрузки процессора примерно равен 8%, тогда как старый роутер в Telecity для аналогичного пересчета таблицы маршрутизации задействовал все 100% мощности. Это довольно приличное увеличение производительности!»

 

Теперь наши глаза приклеены ко всевозможным инструментам, которые показывают, в каком месте становится «горячо» в плане нагрузки. С гибкостью TQ Tech III – у нас есть куда больший контроль над балансировкой нагрузки, что просто отлично, учитывая, что выпуск дополнения «Цитадель» уже виден на горизонте, со всеми его улучшениями кораблей капитального класса и новой механикой захвата и защиты структур. Мы продолжим все тут настраивать, чтобы улучшить ваш опыт полетов в Новом Эдеме.

 

От имени операционного отдела, я с гордостью и официально приглашаю вас на Tranquility Tech III

 

CCP Gun Show

 

 

спойлерПримечание переводчика
Это мой первый перевод, и сразу технический девблог. Стилистика текста местами скорее всего прихрамывает, прошу понять и простить :) И написать в личку о грубых ошибках.

Хотя я и работаю с базами данных, но как разработчик, а не DBA, и не так опытен в продуктах Microsoft, которыми пользуются CCP. Так что если разбираетесь в этом лучше, и найдете в переводе изъяны в описании технических моментов, особенно в части от CCP DeNormalized - просьба опять же написать в личку, я с радостью исправлю возможные ошибки.


Сообщение отредактировал Cloned Mark: 26 March 2016 - 14:45

  • 41

Specially for Numator!


#2
VladeyushiySlavoy

VladeyushiySlavoy

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 725 сообщений
327
  • EVE Ingame:Canarisis
  • Corp:RED October
  • Ally:RED
  • Client:Рус

И после всего этого стало лагать на кта...


  • 4

победивший клэнси сам становится клэнси


#3
vmarkelov

vmarkelov

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 44837 сообщений
7346
  • EVE Ingame:Kej Lacitis
  • EVE Alt:Kej Al'tos
  • Corp:Space Mechanics
  • Ally:Circle of Hell
  • Client:Рус
Интересно, по итогам MS'овский инженер в игру вернулся?
  • 0

Не сожалей о том что было, не думай о том что могло быть.


#4
Gar Ragar

Gar Ragar

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1793 сообщений
288
  • EVE Ingame:Gar Ragar
  • Corp:[3S]
  • Channel:EG
  • Client:Eng
Хороший перевод. Понятный, легко читается и даже шуточки не потерялись.
  • 2
Геккоубийцы попадают в ад.

#5
shurinberg

shurinberg

    Clone Grade Delta

  • Tech III Pilots
  • PipPip
  • 161 сообщений
22
  • EVE Ingame:oShurinberGo
  • Client:Рус

И после всего этого стало лагать на кта...

вот именно из за всей этой работы проделаной ссп, а не из за провайдера или твоего железа)
  • 1

#6
Minmatar Sitizen

Minmatar Sitizen

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 781 сообщений
271
  • Client:Рус

Спасибо за хороший перевод.
п.с. Тут несколько недель назад мне кто то пытался объяснить про то что "например вот у оракла лишнюю базу на бд без лицензии не поднять" и про лицензирование ресурсов железа "например у HP". Им стоит почитать статью, чтоб меньше было оправданий в следующий раз тому, что многие технологические моменты у ССР сделаны мягко говоря не оптимальным обазом.


  • 0

Мне нравится ева за то, что тут банально красиво.


#7
Cloned Mark

Cloned Mark

  • -10.0
  • PipPipPipPipPip
  • 1871 сообщений
212
  • EVE Ingame:Cloned Mark
  • Corp:Slozhno
  • Ally:MI22
  • Client:Eng

У Oracle можно поднимать что угодно, но придется купить лицензию, если ты на этом зарабатываешь. Да и никакого саппорта у тебя без лицензии не будет, а такая необходимость возникает довольно часто, если речь идет о серьезных системах не для пары пользователей. 


  • 0

Specially for Numator!


#8
FerrusManus

FerrusManus

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4030 сообщений
624
  • EVE Ingame:Captain Semper
  • Corp:Weyland-Yutani
  • Ally:Brothers of Tangra
  • Client:Eng

Спасибо за хороший перевод.
п.с. Тут несколько недель назад мне кто то пытался объяснить про то что "например вот у оракла лишнюю базу на бд без лицензии не поднять" и про лицензирование ресурсов железа "например у HP". Им стоит почитать статью, чтоб меньше было оправданий в следующий раз тому, что многие технологические моменты у ССР сделаны мягко говоря не оптимальным обазом.

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

Ибо переехали она действительно плавно (зная как бывает на самом деле и чем заканчиваются такие переезды, ССР отлично провернули задуманное).

 

Знакомые, работающие в одном крупном торговом портале рассказывали, как они МЕСЯЦ меняли датацентр. И это не считая естественно планирования и прочего. Именно переезд занял месяц. С кучей сбоев, восстановлений из бекапов и т.д.

А оборот и железо у такого портало чутка больше, чем у ССР.


  • 0
Изображение

#9
euroUK

euroUK

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5588 сообщений
252
  • EVE Ingame:Methodius Nix
  • EVE Alt:Много
  • Corp:G1PSY
  • Ally:TRI
  • Client:Eng
У меня стойкое ощущение, что разработчики выбрали не тот жанр. Судя по тексту, то что они делают это прямо-таки какое-то волшебство из мира поней и особая дружбомагия разрешает проблемы. Если вы пишете технический блог, то приводите больше деталей.
 
Что за неправильный план запроса? Неужели так сложно прогнать тесты по своим хранимкам после миграции на новый сервер? У них же есть статистика средней скорости отработки хранимок, неужели так сложно прогнать их и сравнить?
 
Кроме того, вся статья идет про сервер БД, а нам рассказывают про ТиДи. Мне лично не очень понятно, как связано СУБД и ТиДи, т.е. да, загрузка скилов и все такое, Но существуют промежуточный уровень с кэшированием, совершенно непонятно почему СУБД является узкой точкой. Я всегда считал, что дроны/ракеты/бомбы это корень зла.
 
А что касается общих лагов, мне особо прироста производительности не видно, хотя вроде бы как по х-кам должно было быть x2 меньше лагов.
 
Т.е. мне как разработчику из этой статьи ничего вообще не ясно. Но мой опыт разработки говорит, что мы имеем дело с типичным говнокодом, который дергает туда-сюда СУБД на каждый чих. Сделайте промежуточное кэширование в памяти/кассандре, где угодно предназначенным для вычислений в реальном времени. Когда что-то поменялось (кто-то сдох, сгорел модуль, сменилась система) тогда и пишите в СУБД.
 
Может быть так оно и работает у них, но то, что написано смотрится мягко говоря как от кухарок для кухарок.

  • 0

у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте. 


#10
Карбофос

Карбофос

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2266 сообщений
275
  • EVE Ingame:TURAH
  • Corp:npc
  • Client:Eng

Эти кококо от ццп про новое железо такие забавные... В  выходной день сервер выборочно ложится непонятно почему. Лаги как были так и остались даже по моему хуже стало. Как было тиди при заходе 300 человек в систему так и осталось.


  • 0

#11
Vollhov

Vollhov

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18735 сообщений
2627
  • EVE Ingame:Vollhov Jr (Vollhov)
  • DUST Ingame:Такой игры не существует
  • EVE Alt:-
  • Corp:НПС Бомж
  • Ally:Амарычи
  • Client:Рус

Не знаю мне вообще кажется что вся проблема это в движке самой игры КАРБОН.

Терзают меня смутные сомнения что если бы сам движок поменять там на тот же АНРИН. То ситуация с тем же игровым кодом в котором они находят все новое каждый год (ну в своём же коде, находить что то новое это только в ССП так могут.) изменилась бы в лучшую сторону. Но для этого надо будет полностью выпускать новую игру.

Хотя справедливости ради, я играл во многие ММОРПГ и лагов в масс зарубах там овердофига и не только в Еве. Хотя была одна корейская игрулька по названию RF Online там было такое явление как "время войны за Краги" 3 расы махались в локации между собой. На одном из евро серваков были пики до 2к людей в зоне боев и на удивление лагов почти не было. :blink: (кстати там почти та же система как еве аля грид, только работало это как обзор и из-за этого лагов было меньше)


  • 0

ihnLXpl.jpg

Скорость нужна, а поспешность вредна. (С) Суворов.

 


#12
Cloned Mark

Cloned Mark

  • -10.0
  • PipPipPipPipPip
  • 1871 сообщений
212
  • EVE Ingame:Cloned Mark
  • Corp:Slozhno
  • Ally:MI22
  • Client:Eng

 

Что за неправильный план запроса? Неужели так сложно прогнать тесты по своим хранимкам после миграции на новый сервер? У них же есть статистика средней скорости отработки хранимок, неужели так сложно прогнать их и сравнить?

 

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

 

 

Кроме того, вся статья идет про сервер БД, а нам рассказывают про ТиДи. Мне лично не очень понятно, как связано СУБД и ТиДи, т.е. да, загрузка скилов и все такое, Но существуют промежуточный уровень с кэшированием, совершенно непонятно почему СУБД является узкой точкой. Я всегда считал, что дроны/ракеты/бомбы это корень зла.

 

Статья нам рассказывает про миграцию БД и про сопутствующие проблемы, а не про связь обращений к БД с TiDi, где ты это вычитал? Механизм TiDi создан, чтобы дать серверу больше времени на вычисления каждого отдельного тика, а не на чтение/запись в БД.


  • 0

Specially for Numator!


#13
Minmatar Sitizen

Minmatar Sitizen

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 781 сообщений
271
  • Client:Рус

Не знаю мне вообще кажется что вся проблема это в движке самой игры КАРБОН.

Я вот что тебе скажу.
Если в игре невозможно разработчику разобраться в кодинге палки чтоб модифицировать её, если схожая проблема после ввода фозисова возникла и положиа сервер черти на сколько. Если из за всего этого стало проще написать новые структуры типа, чем разбираться со старыми. И так далее...
Тут не в движке проблема. Вообще не в движке.


  • 1

Мне нравится ева за то, что тут банально красиво.


#14
Vollhov

Vollhov

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18735 сообщений
2627
  • EVE Ingame:Vollhov Jr (Vollhov)
  • DUST Ingame:Такой игры не существует
  • EVE Alt:-
  • Corp:НПС Бомж
  • Ally:Амарычи
  • Client:Рус

Я вот что тебе скажу.
Если в игре невозможно разработчику разобраться в кодинге палки чтоб модифицировать её, если схожая проблема после ввода фозисова возникла и положиа сервер черти на сколько. Если из за всего этого стало проще написать новые структуры типа, чем разбираться со старыми. И так далее...
Тут не в движке проблема. Вообще не в движке.

Дело в самих разработчиках ? :ninja:


  • 0

ihnLXpl.jpg

Скорость нужна, а поспешность вредна. (С) Суворов.

 


#15
euroUK

euroUK

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5588 сообщений
252
  • EVE Ingame:Methodius Nix
  • EVE Alt:Много
  • Corp:G1PSY
  • Ally:TRI
  • Client:Eng

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

 

А ты в курсе, кстати, что план запроса можно принудительно указывать? Второе, очень сомнительно, что на одинаковой статистике сервер выдает разные планы, да еще вроде бы как планы запросов кэшируются (ну если там параметры используют :trololo:  а не переменные в тексте)

 

 

 

Статья нам рассказывает про миграцию БД и про сопутствующие проблемы, а не про связь обращений к БД с TiDi, где ты это вычитал? Механизм TiDi создан, чтобы дать серверу больше времени на вычисления каждого отдельного тика, а не на чтение/запись в БД.

 

Я прочитал во второй части статьи, где есть графики процессорного времени. Вот и я не уловил, причем тут SQL Server 2014


  • 0

у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте. 


#16
Khallath

Khallath

    (\/)O_0(\/)

  • Tech III Pilots
  • PipPipPipPipPip
  • 1456 сообщений
254
  • EVE Ingame:Savant Alabel
  • Client:Eng

Я вот что тебе скажу.
Если в игре невозможно разработчику разобраться в кодинге палки чтоб модифицировать её, если схожая проблема после ввода фозисова возникла и положиа сервер черти на сколько. Если из за всего этого стало проще написать новые структуры типа, чем разбираться со старыми. И так далее...
Тут не в движке проблема. Вообще не в движке.

Есть такое матерное слово "legacy". С этим матерным словом в eve всё в порядке. Чем дальше, тем меньше людей знают и помнят как оно вообще работает, и трогать что-то становится очень тяжело, поскольку не знаешь где в следующий раз отвалится.

 

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


  • 1

Ты еда, твое место на кб, ты летаешь в долг на чужих исках


#17
euroUK

euroUK

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5588 сообщений
252
  • EVE Ingame:Methodius Nix
  • EVE Alt:Много
  • Corp:G1PSY
  • Ally:TRI
  • Client:Eng

Есть такое матерное слово "legacy". С этим матерным словом в eve всё в порядке. Чем дальше, тем меньше людей знают и помнят как оно вообще работает, и трогать что-то становится очень тяжело, поскольку не знаешь где в следующий раз отвалится.

 

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

 

Согласен. Однако есть у меня ощущение, что вся архитектура - legacy. Грубо говоря, у них очень криво сделана балансировка нагрузки, т.е. система общитывается на ноде или мини-кластере. Но при этом совершенно понятно, что физические сервера должны быть универсальными и запросы должны обрабатываться любым из доступных. Это позволит держать не 2-3 тысячи человек, а почти всех.

Конечно есть ограничения, связанные с тем, что время диспетчеризации может стать выше чем время обработки и весь смысл потеряется. И понятно, что для нормальной системы им нужно переписать сервер-сайд с использованием современных подходов. Но ИМХО это гораздо важнее, чем все эти апдейты 2014 сиквела.


  • 1

у меня стаж игры с 2009 года я летал почти на всем что есть в еве, включая титаны на тесте. 


#18
Cloned Mark

Cloned Mark

  • -10.0
  • PipPipPipPipPip
  • 1871 сообщений
212
  • EVE Ingame:Cloned Mark
  • Corp:Slozhno
  • Ally:MI22
  • Client:Eng

А ты в курсе, кстати, что план запроса можно принудительно указывать? Второе, очень сомнительно, что на одинаковой статистике сервер выдает разные планы, да еще вроде бы как планы запросов кэшируются (ну если там параметры используют :trololo:  а не переменные в тексте)

Я прочитал во второй части статьи, где есть графики процессорного времени. Вот и я не уловил, причем тут SQL Server 2014

В курсе, более того, возможно они так и сделали.

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

 

 И понятно, что для нормальной системы им нужно переписать сервер-сайд с использованием современных подходов.

Ну пойди скажи им, че) А то они не знают. Надо-то надо, только сколько это займет времени, и кто это будет делать. 

 

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

 

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


Сообщение отредактировал Cloned Mark: 28 March 2016 - 22:10

  • 0

Specially for Numator!


#19
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

В курсе, более того, возможно они так и сделали.

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

 

Ну пойди скажи им, че) А то они не знают. Надо-то надо, только сколько это займет времени, и кто это будет делать. 

 

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

 

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

Так ядро то как раз переписали :)

Проблема в том, что распараллеливание самой физической симуляции, задача из разряда тех, на решение которых уходят годы и годы R&D.


  • 0

Сообщество FactorioMMO: Discord , Reddit


#20
Cloned Mark

Cloned Mark

  • -10.0
  • PipPipPipPipPip
  • 1871 сообщений
212
  • EVE Ingame:Cloned Mark
  • Corp:Slozhno
  • Ally:MI22
  • Client:Eng

Так ядро то как раз переписали :)

А? Че? Когда? Я что-то пропустил?)


  • 0

Specially for Numator!





0 посетителей читают тему

0 members, 0 guests, 0 anonymous users