Переодичные зависание.

Теги:
 
+
-
edit
 

Delta_Q

новичок
Почему в L2J_Fortress-е каждые 30 минут на сервере все замирает?
В SF такого небыло.
Я вроди и приоритет серверу высокий задал, и -Xms1024m -Xmx1024m вроди поднял.
Всеравно переоичные зависания не исчезли.
С чем это может быть связано?
 
+
-
edit
 

Balancer

администратор
★★★★★
Ну, первое что в голову приходит - попробуй увеличить число mysql-соединений.

Вообще, опиши условия подробнее, телепаты в отпускУ :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

malike

новичок
Delta_Q> Почему в L2J_Fortress-е каждые 30 минут на сервере все замирает?
Delta_Q> В SF такого небыло.
Delta_Q> Я вроди и приоритет серверу высокий задал, и -Xms1024m -Xmx1024m вроди поднял.
Delta_Q> Всеравно переоичные зависания не исчезли.
Delta_Q> С чем это может быть связано?
У мну стоял Win2003 на нём была таже тема.
Поставил линукс и наступило счастье.
 
+
-
edit
 

Delta_Q

новичок
Ок попробую...
А причина неизвестна? Почему СФ так не глючит? и почему всегда ровно каждые 30 минут?
Машина чисто под сервер игровой, Винда - 2003, Процессор - Пенек-4 2,8Ггц, Память 2Гига.
Помимо ЛА2 работает еще и Контры сервер.
Онлайн в Ла2 районе 10, на контре 2-5 человек. (сервер для тех кто у нас в городе не может играть на внешках)
mysql 5.0.18
телнет сервера вырублен.

Лаг выглядит так:
Все замирает на 30-40 секунд потом отмирает. Игроки жалуются, что в этот момент мобы отреспаться успевают и после отмирания оказываешся окружены мобами.
Некоторые парамерты конфига:
LinearCellSize = 8
GeoData = False
GeoDataForPlayers = False
PlayerVisibilityHorizontal = 6000
PlayerVisibilityVertical = 2000
trustToClientCoords = True
AutoRestart = 24
LazyItemUpdate = False
LazyItemUpdateTime = 60000
 
Это сообщение редактировалось 15.07.2007 в 22:56
+
-
edit
 

Re-login

новичок

Там приоритет явы, может влиять, поставь по выше. Еще есть в настройках параметр
LinearCellSize
поставь там 2000 очень поможет.
 
+
-
edit
 

Balancer

администратор
★★★★★
2000 - много :) Тормозить будет на росте онлайна.

Оптимум - где-то как раз в районе 5..50..100. Точнее - нужно под свои условия подбирать.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Delta_Q

новичок
Balancer а за что отвечает он, кроме того что написно о нем?
 
+
-
edit
 

Diаmond

втянувшийся

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

Недостатки:
- сложности с переключением AI между активным и пассивным режимом, вплоть до того, что пришлось писать LightAI :)
- низкая скорость работы
- ненадежен, неудобен, постоянно давал сбои
Преимущества:
- высокая точность

В моем варианте - мир поделен на регионы (параллилепипеды), и перебираются соседние.

Недостатки:
- неточен, дает погрешность величиной в ширину региона. Если взять за размер региона 4000, то обьект виден, если он находится на расстоянии от 4000 до 8000. Но это не заметно игроку, и в принципе ничем не плохо. Кроме того, в случае необходимости, можно задействовать дополнительно проверку расстояния.

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

Расход памяти в обоих вариантах одинаков :)
 
Это сообщение редактировалось 16.07.2007 в 04:00
+
-
edit
 

Balancer

администратор
★★★★★
Гы. Вариант с квадратами (8000x8000) - это самый первоначальный (и сейчас используемый ими) вариант от SF. Отличается высокой ресурсоёмкостью при большой плотности объектов :D

Собственно, вариант с "полосками" был введён из-за высокой нагрузки на сервер при осаде. На "полосках" же (в исходном варианте, сейчас - не знаю, там дофига некоторыми переписывалось) заметной нагрузки не возникало даже при 5000 активных объектов в одной области видимости. Клиент уже не справлялся с обработкой такого количества объектов, а на сервере загрузка была очень далека от 100% :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Delta_Q

новичок
Тут еще один баг выполз. Почемуто игроков иногда спантанно телепортирует в море.
Сборка форта: 6567
 
+
-
edit
 

Balancer

администратор
★★★★★
"В море" - скорее всего в координаты 0,0,0. Спонтанно оно быть не может, должна быть причина. В первую очередь - смотри в логах. Велика вероятность исключений.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Delta_Q

новичок
Да к острову из Интерлюдии прям в море.
Ок спасибо за наводку, будем анализировать и смотреть.
 
+
-
edit
 

Re-login

новичок

У меня в точке 0.0.0 огромное скопление мобов и рейд боссы да же есть :D Был в ужасе когда увидел.
Кстати у меня как то электричество падало, и бд завершалась с ошибкой, дак почти все игроки после входа в игру имели координату 0.0.0
Возможно у тебя ошибки в БД?
 
RU Diаmond #16.07.2007 17:47  @Balancer#16.07.2007 11:35
+
-
edit
 

Diаmond

втянувшийся

Balancer> Гы. Вариант с квадратами (8000x8000) - это самый первоначальный (и сейчас используемый ими) вариант от SF. Отличается высокой ресурсоёмкостью при большой плотности объектов :D
Balancer> Собственно, вариант с "полосками" был введён из-за высокой нагрузки на сервер при осаде. На "полосках" же (в исходном варианте, сейчас - не знаю, там дофига некоторыми переписывалось) заметной нагрузки не возникало даже при 5000 активных объектов в одной области видимости. Клиент уже не справлялся с обработкой такого количества объектов, а на сервере загрузка была очень далека от 100% :)
Интересно, почему тогда твой двиг жрет в 5 раз больше ресурсов? И жрал так всегда, с момента его появления, уж я то помню.
Проблема двига SF была не в типе двига видимости, а в криворукости программистов, его написавших. Мой двиг сейчас не жрет вообще почти ничего, при любом возможном числе обьектов. Насчет 5000 незнаю, таких ситуаций на сервере не возникало и никогда не возникнет.

PS: или хочешь провести сравнительные тесты? Давай, я только за.
 
+
-
edit
 

Balancer

администратор
★★★★★
Только после того, как дойдут руки доделать патфайндинг :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
UA SoulKeeper #16.07.2007 18:11
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Ммм... Гладиаторские бои :)облизывается предвкушая поединок
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  

Drac

разработчик l2j-сервера

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

Diаmond

втянувшийся

Drac> А я бы посмотрел что и у кого лучше работает. Тогда можно и будет выявить реально лучшего.
Только в нашем случае придется обфускатор заюзать :)
Или поднять сервер удаленно, например у абаддона :)
 
+
-
edit
 

Delta_Q

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

Drac

разработчик l2j-сервера

Надо сначала сделать нормальные тесты, а потом уже думать у кого сервер запускать. Притом, я думаю, что надо это делать у нейтрального человека.
 
RU Shadowrunner #16.07.2007 21:06
+
-
edit
 
А обфускатор может повлиять на результаты, причем ощутимо... Как и профайлер...
 
RU Shadowrunner #16.07.2007 21:07  @Diаmond#16.07.2007 17:47
+
-
edit
 
Diаmond> Насчет 5000 незнаю, таких ситуаций на сервере не возникало и никогда не возникнет.
Рейд на антараса всем сервером :)
 
UA SoulKeeper #16.07.2007 21:23  @Diаmond#16.07.2007 19:20
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Diаmond> Только в нашем случае придется обфускатор заюзать :)
Началось :D

Diаmond> Или поднять сервер удаленно, например у абаддона :)
Судя по отношениям абаддона и балансера сервер надо поднимать у Drac"а
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 

Re-login

новичок

Да лаги в большем скоплении народа ощутимые, и что самое интересное сервер то почти не загружен.
Я на осаде где было то 70 человек, вызвал 500 кроликов, в разные точки спавна. Это была пошаговая стратегия.
 
AD Реклама Google — средство выживания форумов :)

Drac

разработчик l2j-сервера

Не, мне гемора не надо, я лучше результаты посмотрю. При 70+500=570 человеках/мобах и на оффе лаги начнутся. 9/10 людей, с которыми на осадах в ТС сидим говорят, что лагает, как только прибегает зерг противника (это порядка 150 человек), хотя машины у некоторых очень не слабые (Intel C2D 2.1Ghz, 7950 GTX(вроде) 4 Гб ДДР2). Даже на таком при 200-300 людях начинает лагать.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru