Сообщений: 247
Тем: 2
Зарегистрирован: May 2008
Репутация:
129
# Не трогайте эти настройки если не знаете что они делают
ThreadPoolSizeEffects = 10
ThreadPoolSizeGeneral = 13
UrgentPacketThreadCoreSize = 2
GeneralPacketThreadCoreSize = 4
GeneralThreadCoreSize = 4
AiMaxThread = 6
Собственно в каждом сервере есть эти настройки , до недавнего времени они были мне просто не нужны , но вот сейчас , на новом сервере у меня появились проблеммы , каждые 15 секунд сервер как бы тормозит или замораживается и через пару секунд размораживается и так постоянно !!! Пологаю с помощью этих настроек можно както исправить эту проблемму , поэтому вопрос . Точнее два :
1) За что конкретно отвечает каждая настройка ?
2) Кто может сталкивался с подобной проблеммой , в чем может быть дело ? Может кто знает как исправить !?
Сообщений: 8
Тем: 0
Зарегистрирован: May 2008
За что отвечает каждая настройка точно не знаю, но указывается размерность/количество определенных пакетов. Обычно все настраивается методом тыка.
Вот кусок с мануала по оптимизации сервера.
4.L2j Threadpool config
Настройка в конфигурации сервера.
И так,осталось сделать совсем чуть чуть,для начала нужно оптимизировать настройки threadpool
В данном конфиге определяются сколько сообщений может быть создано.Эти параметры всегда были загадкой для меня.
Перед тем как менять что либо тут убедитесь что у вас хороший процессор,я решил поэксперементировать над данным настройками и поставил их на высокие:
Откройте ваш options.properties файл и посмотрите на это:
# ================================================= = ===============
# Настройка threadpool - Будьте осторожны, изменяя это
# ================================================= = ===============
ThreadPoolSizeEffects = 50
ThreadPoolSizeGeneral = 65
По умолчанию # 2
UrgentPacketThreadCoreSize = 10
# по умолчанию 4
GeneralPacketThreadCoreSize = 20
# по умолчанию 4
GeneralThreadCoreSize = 20
AiMaxThread = 20
-------------------------------------------------- ----------------
Я поставил их 5x нормальные значения для моего компьютера. Это прекрасно работает на моем сервере, но вы должны экспериментировать с данными настройками.
Начать со стандартной настройки и посмотреть как это работает и потом изменять по мере возможности и риска,для начала эксперимента установите их 2х значения.
Т.е. умножте стандартные настройки данной конфигурации на 2,и сохраните файла.
Вы должны эксперементировать над данными конфигами,пока не найдёте прекрасной конфигурации для вашего компьютера.
(с)
Сообщений: 35
Тем: 1
Зарегистрирован: Apr 2008
А что он имено будет показывать!
Тоесть он будет работать быстрее?
Сообщений: 146
Тем: 4
Зарегистрирован: Apr 2008
Репутация:
43
Цитата:А что он имено будет показывать!
Тоесть он будет работать быстрее?
Возможно ты найдешь подходящие параметры и сервер будет работать быстрее, но чаще люди наоборот усложняют работу сервера.
soon
Сообщений: 247
Тем: 2
Зарегистрирован: May 2008
Репутация:
129
Гдето читал , что ничего страшного произойти не может при правильном повышении этих параметров , это вобщем как процессор гнать =) , по немногу и постоянно проверять что получилось-стабильность !!!
Сообщений: 35
Тем: 1
Зарегистрирован: Apr 2008
log Написал:Возможно ты найдешь подходящие параметры и сервер будет работать быстрее, но чаще люди наоборот усложняют работу сервера.
Ясненько будем знать!
Сообщений: 116
Тем: 4
Зарегистрирован: May 2008
Репутация:
2,673
Методом тыка настраиваются телевизор пультом и подобные приборы А здесь всё куда сложнее - это может реально вызвать большие проблемы вплоть до полного зависания JVM =\ Впрочем ... лучше сразу отвечу :
1)- Пул [ pool ] - в яве - это накопитель потоков [ поток - thread ],выполнение которых нужно планировать [ Sheduled Pools ] на определённое время.
- Зачастую в L2J используется три пула : Effects,General и AI.
- Первый содержит потоки,выполняющие простые и короткие действия,типа скиллов,регенерации статов и т.д. .
- Второй содержит потоки,которые выполняют более сложные задачи,которые требуют планирования на определённое время,например осады,смена дня на ночь и т.п.
- Третий содержит потоки,которые выполняют действия AI [ исскуственного интелекта ].(Вообще,можно было бы их обьеденить,но вышла бы путанница и большая нагрузка ).
После этого я думаю моё обьяснение будет куда яснее : - [Sheduled]ThreadPoolSizeEffects - размер накопителя потоков,вызывающих эфекты,т.е их максимальное кол-во.
- [Sheduled]ThreadPoolSizeGeneral - размер накопителя потоков,вызывающих генеральные задачи,т.е их максимальное кол-во.
- [Sheduled]AiMaxThread - размер пула для AI.
* [Sheduled] - это всего лишь префикс для ясности *
Далее ещё немного теории,чтобы ты понял остальное ^^ -
В L2J есть также ещё 3 "нестандартных" пула,которые являются динамическими.Сейчас обьясню,почему они такие и зачем они нужны
- Первый - General Packets Thread Pool - содержит большинство обработанных пакетов,не буду вдаваться в подробности ...
- Второй I/O Packets Thread Pool - исполняет эти пакеты и обрабатывает потоки Ввода/Вывода [ I/O ].
- Третий General Thread Pool - выполняет очень мелкие задачи,но в по истине больших объёмах [ например : ВСЕ обращения к базе ] + прочие подобные задачи.
- Но т.к. и пакетов и потоков Ввода/Вывода довольно много,для всех задач,потоки которых выполняются асинхронно и без задержки - в зависимости от загруженности пула он может менять размеры (увеличиваться/уменьшаться).
Из этого следует : - UrgentPacketThreadCoreSize - размер пула I/O Packets Thread Pool.
- GeneralPacketThreadCoreSize - размер пула General Packets Thread Pool.
- GeneralThreadCoreSize - размер пула General Thread Pool.
З.Ы. Я тоже один раз решил проэксперементировать с процессом java.exe ... поставил приоритет Реального времени и всё перестало лагать Но вот как только я попытался закрыть его перестал также двигаться курсор.После перезагрузки оказалось,что винда умерла ^_^ Вот так вот ))
З.Ы.2 На самом деле всё как обычно упирается в ресурсы машины.Увеличишь размер пула - увеличится потребление памяти.
2) Если в логах нету даже ни одного "ворнинга" стоит задуматься о смене сервера (переход на другую команду).
З.Ы.3 Гайд писал на скорую руку,так что если ошибся - поправьте.Если кому помог - жмите спасибо или + в репу ))) Просто очень интересно,интересуется ли этим вообще хоть кто-нибудь ^^
Сообщений: 247
Тем: 2
Зарегистрирован: May 2008
Репутация:
129
А кто источник ( сайт ) если не секрет ?
Сообщений: 116
Тем: 4
Зарегистрирован: May 2008
Репутация:
2,673
Не секрет - источник я сам.Потратил минут 10-15 на написание.Я уже не впервый раз занимаюсь написанием инструктажа по L2J.Но по конкретной теме пишу впервые,смотря на исходный код и в моменте вспоминая что-либо ... В недалёком будущем планирую создать полноценную спецификацию по L2J
З.Ы Я и сам долго в этом разбирался - местами ещё те дебри ^^ Сейчас буду разбираться со схемой декрипции пакетов,если найду ту,что нужна
Сообщений: 17
Тем: 1
Зарегистрирован: Jun 2008
Репутация:
0
06-06-2008, 09:51 AM
(Сообщение последний раз редактировалось: 06-06-2008, 11:12 AM Black Angel.)
А если быть точне то что именно меняют эти настройки ? я имею ввиду какие процесыы ?
Интересно...
|