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

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

Их там было немного


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

#1
Огонёк

Огонёк

    завязал с Евой

  • Tech III Pilots
  • PipPipPipPip
  • 784 сообщений
198
  • EVE Ingame:Ogonek T72
  • EVE Alt:производственник
  • Corp:ALTair Research
  • Channel:Blueprints
  • Client:Eng
лхку посвящается. и я там был, коврик слил, да на лаги по.....

Оригинал

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

На следующий день в той же системе, на том же железе, сражались 1200 игроков. И снова геймплей оставлял желать лучшего. По мнению некоторых, было даже хуже чем днем раньше. Они правы, и сегодня я хочу немного поговорить о произошедшем. Не все понимают, что произошло (unintuite), и, по крайней мере для таких матерых нердов, как я, разбор должен быть интересен.

ЕВА – реал-тайм игра, но серверная часть – не реал-тайм система.

Поясню. Основная функция сервера Евы – реагировать на запросы пользователя. Например, запрос «открыть огонь». Однако, крайнего срока на обработку запроса нет – то есть «чем быстрее тем лучше, угу, спасибо». И это хорошо. Иначе, при перегрузке сервера, крайние сроки бы превышались, и чтобы это исправить пришлось бы принимать экстраординарные меры. Например, рэндомно дисконнектить игроков.

У сервера ЕВЫ есть только одна система, которая связана с реальным временем – физический симулятор Destiny. Он в лепешку расшибется, но не позволит игровому миру отстать от часов на стене. Все остальные системы игры ради этого будут жертвовать свободным временем. Процессам Destiny задан повышенный приоритет, и это единственная настройка приоритетов в системе. У всех остальных процессов приоритет одинаковый.

И при чем тут разница между зарубой с локалом 3242 и локалом 1200?

Сейчас дойдем и до этого, но разберем еще один термин – обязательство (commitment, если кто знает тех.соответствие на русском - скиньте плз.)

Изображение

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

Механизм «удушения» сервера таков – пока Destiny пытается обработать приоритетные обязательства, новые запросы от клиентов откладываются. Стабильное состояние достигается в том случае, когда поток входящих команд сокращается до объема, при котором время обработки команд, суммированное с временем обработки связанных с ними обязательных действий, полностью занимает все доступное процессорное время, не занятое движком Destiny.(прим. пер. - спасибо Ostr0mir за подсказку)

Если нагрузка на Destiny незначительна, у нас есть всё время мира, чтобы обработать команды и обязательства. Палить из всех пушек, взрывать кучи кораблей, времени хватит на всё. Но вскоре количество обязательств от этих действий резко вырастет. И пока эти приоритетные события не обработаются - новые запросы будут бесконечно откладываться. Короче говоря, лаг. В худшем случае, будет превышено время отклика ноды на запрос кластера и нода упадет.

Изображение

Когда на ноду привалило 3242 игрока – нагрузка на Destiny была огромна. Неимоверная была нагрузка.
Иногда мы получали отвратительные реакции сервера с квадратичной сложностью (n^2), которые мы сейчас и пытаемся устранить, но это отдельная история.(прим. пер. - спасибо yleo за подсказку). В итоге, ко всем остальным процессам почти перестали поступать крупные обязательства (в основном – взорвать шип и поднуть). Нода оставалась живой и отчасти восприимчивой к новым запросам, несмотря на чрезвычайную нагрузку.

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



Дополнение после этих выходных: Если бои происходят в разных системах – одному серверу это очень тяжело обработать. Поэтому не забывайте о Fleet Fight Notification Form. Мы выделим аппаратные средства под столько изолированных систем, сколько будет возможно.

Вдогонку – наше решение отделить нагруженную систему от остальных, мягко говоря, плохо сработало. Большинство проблем на этих выходных были связанны с ним. В ближайшую пару месяцев ребята из команды Cobra Kai будут дорабатывать безопасность этого процесса. Опробуем доработки на ближайших масс-тестах, если не хотите повторения таких аварий – не пропустите.

- CCP Veritas

Сообщение отредактировал Огонёк: 10 November 2010 - 13:21

  • 3

#2
veelzevul

veelzevul

    повелитель мухъ

  • EVE-RU Team
  • 10616 сообщений
1124
  • EVE Ingame:veelzevul
  • EVE Alt:Makanaka
  • Corp:I.N.
  • Ally:-C.B-
  • Channel:eve_ii
  • Client:Eng

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

Это он зря написал. Очень зря.
А вообще почитал и понял, что ССР пока сами еще не до конца уверены в результатах. Ищут, пробуют, молятся. И это хорошо. Значит хоть какая-то работа идет.

Блог по сути не о результатах, а о самом действии. В принципе молодцы.
  • 0

[ 2010.06.19 14:31:50 ] TuXyWHuK > Атас детишки, педобир в локале!

 

#3
Isk Raider

Isk Raider

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1448 сообщений
142
  • EVE Ingame:Isk Raider
  • Client:Eng
Похоже на оправдывание за свои недоработки.
  • 0

#4
Marchelo

Marchelo

    Время несвежих историй и липких сообщений наступило!

  • Tech III Pilots
  • PipPipPipPipPip
  • 2788 сообщений
866
  • EVE Ingame:Marche Lo
  • Client:Eng
Познавательно :)
  • 0
Изображение

#5
Der Alte

Der Alte

    ПВП-шник 4-й категории

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8348 сообщений
1752
  • EVE Ingame:Aunt Tom
  • Corp:-DVC-
  • Ally:-GE-
  • Channel:-DVC-
Блог для тех, кто сейчас скучает в Рио? :)
  • 0

 

 


#6
uhm

uhm

    Оффтопер

  • Tech III Pilots
  • PipPipPipPipPip
  • 1653 сообщений
177
  • EVE Ingame:Agem Arees|Uhm
  • Corp:RTSQ
  • Ally:aAa
  • Client:Eng
"A few people", в отличие от просто "few people", означает как раз, что людей там было "порядочно", а не "немного".
  • 0

Изображение

#7
C. N.

C. N.

    C9R-NO

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4153 сообщений
550
  • EVE Ingame:ilammy
  • EVE Alt:Gail Nightingale
  • Corp:xMONOLITHx
  • Ally:-GE-
  • Client:Eng
Скорее a few — несколько, few — мало, немного.
  • 0

Teamwork is essential; it gives the enemy other people to shoot at.

triage.png


#8
Ostr0mir*Нейтрал

Ostr0mir*Нейтрал
  • Guests

ЕВА – реал-тайм игра, но серверная часть – не реал-тайм система.


Собственно, именно это я и высказал в соседней ветке чуть раньше :)

Steady state is reached when the flow of incoming commands is reduced to the point where their processing plus their subsequent commitments fully occupies the available non-Destiny time.)

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

Сообщение отредактировал Ostr0mir: 10 November 2010 - 0:16

  • 0

#9
Daren Kai

Daren Kai

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3331 сообщений
623
  • EVE Ingame:Daren Kai
  • Corp:WAT2G
  • Channel:WAT2G
  • Client:Eng
Это все очень круто, но я немного не понял они собираються как то исправлять ситуацию или залипающие пушки в локале 300 это нормально ?
Сегодня сорок минут не мог прогрузиться цинорапиркой в пустой системе в гребаном деториде. Это тоже клево и они мне тоже это графиками объяснят ?

Короче - пофиксите лаги и верните мое бабло.
  • 0

Крылья, ноги ... главное хвост.


#10
Jurimaru

Jurimaru

    Clone Grade Beta

  • Tech III Pilots
  • Pip
  • 85 сообщений
10
  • EVE Ingame:Jurimaru
  • Corp:XB
  • Ally:SE
  • Client:Eng
I'm getting there, but I have to bring up one more concept first: commitment.. Он говорит не о термине, а о концепции, т.е. понятии которое он использует по своему усмотрению и необязательно в соответствии с множеством определений.

Имхо, он сам путается, потому что определяя commitment как обязательная последующая операция при этом пишет subsequent commitments - последующие commitments.

В терминологии ОС близкие термины - родительский\дочерний процесс, fork и прочие.

2Daren: Про исправлять речи не шло - онисамифшоке что нода вообще при этом была онлайн.

Сообщение отредактировал Jurimaru: 10 November 2010 - 0:33

  • 0

#11
Ostr0mir*Нейтрал

Ostr0mir*Нейтрал
  • Guests

Это все очень круто, но я немного не понял они собираються как то исправлять ситуацию или залипающие пушки в локале 300 это нормально ?


Дарен, я не знаю, когда ты пришел в игру... но когда в нее пришел я, пролет через Житу с 500-700 телами в локале заканчивался черным экраном и принудительным выводом чара в соседнюю систему руками ГМа. Бой 20 на 20 с дронами приводил к заметным лагам, пропрыг 60 рыл из соседней системы делал лаги несносными, а проход пары каров через цинку и выпуск файтеров просто отправлял мой клиент в плавание к далеким берегам.

К чему это я?

К тому, что ССР изначально хотела выпустить игру как можно быстрее. Им нужно твое бабло, а не твое удовольствие от игры.

Сегодня сорок минут не мог прогрузиться цинорапиркой в пустой системе в гребаном деториде. Это тоже клево и они мне тоже это графиками объяснят ?


Server works fine.

Короче - пофиксите лаги и верните мое бабло.


Нет. No. Nein. Non. Ingen. Não. Nie. Нема. Ні. Yok. Ei.
  • 0

#12
Daren Kai

Daren Kai

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3331 сообщений
623
  • EVE Ingame:Daren Kai
  • Corp:WAT2G
  • Channel:WAT2G
  • Client:Eng
:)

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

Зы: Апокрифа тчк
  • 0

Крылья, ноги ... главное хвост.


#13
Arengor

Arengor

    Clone Grade Delta

  • Tech III Pilots
  • PipPip
  • 145 сообщений
4
  • EVE Ingame:Arengor
  • Client:Eng
Разработчики некоторых других ММО решают проблему чрезмерной нагрузки дизайнерским путем. Делают пвп в загончиках типа арен и баттлграундов с ограниченным количеством участников, пве ограничивают рейдами и запихивают в инстансы. В результате легко прогнозировать нагрузку и распределять ее.

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

#14
Nares

Nares

    Apocalypse Now

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 17204 сообщений
3707
  • EVE Ingame:Captain Nares
  • Channel:t2y
Интересно, зачем еве такие массовые зарубы...
  • 1
Изображение
Изображение
Изображение
Потеряла лицо Таня-тян -
Плачет о мяче, укатившемся в пруд.
Возьми себя в руки, дочь самурая.

#15
reiser

reiser

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 368 сообщений
33
Существуют ли другие такие же высоконагруженные системы? Как в них решаются подобные проблемы?
Пробовали ли девы поставить физ. движку минимальный приоритет,- где-нибудь на тесте и в порядке эксперимента?
Как происходит расчёт сражения в какой-нибудь кваке? Будет ли там всё так же тормозить? Как растут тормоза при линейном/логарифмическом росте числа участников сражения там?
Зачем они вообще "физику" отдельно считают? Ведь никаким havok там и не пахнет; если убрать бамп - то что останется? Зачем "просчитывать взрыв" (окромя смены сессии и проч.) - его должен клиент лишь отрисовать, ведь он [взырыв] всё равно не наносит никакого урона и не меняет векторы скорости окружающих кораблей?
  • 0

#16
mariypol freelancer

mariypol freelancer

    >=3

  • Tech III Pilots
  • PipPipPipPipPip
  • 1660 сообщений
68
  • EVE Ingame:mariypol freelancer
  • EVE Alt:UKRAINIAN DOOMER
  • Corp:LA-VS
  • Ally:DD
  • Channel:local
  • Client:Eng
Вообще было бы отлично если доп. ресурсы выделялись не по заявке на буст (который к слову через раз феилится) , а вручную ГМами (если это возможно физически движком игры\серверным железом) т.к. не всегда бой происходит в заказанной под буст системы .

Зы. Единственный раз когда буст был на 5+ это бой в X-7OMU во время северной компании весной . во время боя у станции при локале 800-1к не то что бы не лагало . а пушки пахали на авторепите что к слову невозможно при забущщеной системе при локале 500+ . в небущщеной проблемы начинаются после 200+ (а то и раньше) . ну а в глухих лоусеках может при двадцатке рыл в гриде к которым зайдут по цино 30-50кораблей могут начатся лаги образца эдак 2008ого года .
  • 0

#17
reiser

reiser

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 368 сообщений
33

Интересно, зачем еве такие массовые зарубы...

А в чём иначе смысл пвп и mmorg вообще? Я, например, пришёл в нули лишь из-за этого - получается, лаги убивают мне весь смысл игры. CCP сами рекламируют масштабные бои как основную фичу. У тому же, масштабируемость сражений - это просто круто: чем больше бойцов может зарубится - тем больше тактических/стратегических возможностей. В конце концов, отсутсвие лимита сраженцев - это просто ещё одна степень свободы, отсутствие искусственных ограничений в игре.

Вообще было бы отлично если доп. ресурсы выделялись не по заявке на буст [...], а вручную ГМами

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

Сообщение отредактировал reiser: 10 November 2010 - 2:27

  • 0

#18
cowboy

cowboy

    Clone Grade Delta

  • Tech III Pilots
  • PipPip
  • 183 сообщений
-7
  • EVE Ingame:MMak
  • Client:Eng
Кстати в чем смысл просчитывать физику с макс. приоритетом, если в результате команды с клиента игрорируются и такая физика никому не нужна :)
  • 0

#19
Takeshi Ryuu

Takeshi Ryuu

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 696 сообщений
361
  • EVE Ingame:Takeshi Ryuu
  • Corp:IRR
  • Client:Eng

I'm getting there, but I have to bring up one more concept first: commitment.. Он говорит не о термине, а о концепции, т.е. понятии которое он использует по своему усмотрению и необязательно в соответствии с множеством определений.

Имхо, он сам путается, потому что определяя commitment как обязательная последующая операция при этом пишет subsequent commitments - последующие commitments.

В терминологии ОС близкие термины - родительский\дочерний процесс, fork и прочие.

2Daren: Про исправлять речи не шло - онисамифшоке что нода вообще при этом была онлайн.

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

Ваш К.О.
  • 0

#20
reiser

reiser

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 368 сообщений
33
Видимо, поэтому титан может продолжать ехать вдаль от поса, огребая, а пилоты ни с одной из сторон с этим сделать ничего не в силах. Да уж, знатную свинью они подложили. Сделали бы "настоящую" пошаговость, типа "первый приказ пришёл - первый отработан",- была бы настоящая стратегия.

Сообщение отредактировал reiser: 10 November 2010 - 3:13

  • 0




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

0 members, 1 guests, 0 anonymous users