Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
6 настроек Java сервера , за что они отвечают ?
#1
# Не трогайте эти настройки если не знаете что они делают
ThreadPoolSizeEffects = 10
ThreadPoolSizeGeneral = 13
UrgentPacketThreadCoreSize = 2
GeneralPacketThreadCoreSize = 4
GeneralThreadCoreSize = 4
AiMaxThread = 6


Собственно в каждом сервере есть эти настройки , до недавнего времени они были мне просто не нужны , но вот сейчас , на новом сервере у меня появились проблеммы , каждые 15 секунд сервер как бы тормозит или замораживается и через пару секунд размораживается и так постоянно !!! Пологаю с помощью этих настроек можно както исправить эту проблемму , поэтому вопрос . Точнее два :
1) За что конкретно отвечает каждая настройка ?
2) Кто может сталкивался с подобной проблеммой , в чем может быть дело ? Может кто знает как исправить !?
Ответ
#2
За что отвечает каждая настройка точно не знаю, но указывается размерность/количество определенных пакетов. Обычно все настраивается методом тыка.

Вот кусок с мануала по оптимизации сервера.

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,и сохраните файла.
Вы должны эксперементировать над данными конфигами,пока не найдёте прекрасной конфигурации для вашего компьютера.

(с)
Ответ
#3
А что он имено будет показывать!
Тоесть он будет работать быстрее?
Ответ
#4
Цитата:А что он имено будет показывать!
Тоесть он будет работать быстрее?
Возможно ты найдешь подходящие параметры и сервер будет работать быстрее, но чаще люди наоборот усложняют работу сервера.
soon
Ответ
#5
Гдето читал , что ничего страшного произойти не может при правильном повышении этих параметров , это вобщем как процессор гнать =) , по немногу и постоянно проверять что получилось-стабильность !!!
Ответ
#6
log Написал:Возможно ты найдешь подходящие параметры и сервер будет работать быстрее, но чаще люди наоборот усложняют работу сервера.

Ясненько будем знать!
Ответ
#7
Методом тыка настраиваются телевизор пультом и подобные приборы Smile А здесь всё куда сложнее - это может реально вызвать большие проблемы вплоть до полного зависания JVM =\ Впрочем ... лучше сразу отвечу :
1)
  • Пул [ pool ] - в яве - это накопитель потоков [ поток - thread ],выполнение которых нужно планировать [ Sheduled Pools ] на определённое время.
  • Зачастую в L2J используется три пула : Effects,General и AI.
  • Первый содержит потоки,выполняющие простые и короткие действия,типа скиллов,регенерации статов и т.д. .
  • Второй содержит потоки,которые выполняют более сложные задачи,которые требуют планирования на определённое время,например осады,смена дня на ночь и т.п.
  • Третий содержит потоки,которые выполняют действия AI [ исскуственного интелекта ].(Вообще,можно было бы их обьеденить,но вышла бы путанница и большая нагрузка Wink ).
После этого я думаю моё обьяснение будет куда яснее Smile :
  • [Sheduled]ThreadPoolSizeEffects - размер накопителя потоков,вызывающих эфекты,т.е их максимальное кол-во.
  • [Sheduled]ThreadPoolSizeGeneral - размер накопителя потоков,вызывающих генеральные задачи,т.е их максимальное кол-во.
  • [Sheduled]AiMaxThread - размер пула для AI.
* [Sheduled] - это всего лишь префикс для ясности *
Далее ещё немного теории,чтобы ты понял остальное ^^
  • В L2J есть также ещё 3 "нестандартных" пула,которые являются динамическими.Сейчас обьясню,почему они такие и зачем они нужны Smile
  • Первый - 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 ... поставил приоритет Реального времени и всё перестало лагать Smile Но вот как только я попытался закрыть его перестал также двигаться курсор.После перезагрузки оказалось,что винда умерла ^_^ Вот так вот ))

З.Ы.2 На самом деле всё как обычно упирается в ресурсы машины.Увеличишь размер пула - увеличится потребление памяти.

2) Если в логах нету даже ни одного "ворнинга" стоит задуматься о смене сервера (переход на другую команду).

З.Ы.3 Гайд писал на скорую руку,так что если ошибся - поправьте.Если кому помог - жмите спасибо или + в репу ))) Просто очень интересно,интересуется ли этим вообще хоть кто-нибудь ^^
Ответ
#8
А кто источник ( сайт ) если не секрет ?
Ответ
#9
Не секрет - источник я сам.Потратил минут 10-15 на написание.Я уже не впервый раз занимаюсь написанием инструктажа по L2J.Но по конкретной теме пишу впервые,смотря на исходный код и в моменте вспоминая что-либо ... В недалёком будущем планирую создать полноценную спецификацию по L2J Wink
З.Ы Я и сам долго в этом разбирался - местами ещё те дебри ^^ Сейчас буду разбираться со схемой декрипции пакетов,если найду ту,что нужна Smile
Ответ
#10
А если быть точне то что именно меняют эти настройки ? я имею ввиду какие процесыы ?

Интересно...
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Lineage2 java Chronicle3 сборка AlexBayev 0 274 07-20-2024, 05:23 PM
Последний пост: AlexBayev
  Порекомендуйте хорошую Java сборку L2 GF (PTS не потяну ибо навыков 0 ) Force 0 842 10-28-2023, 12:02 PM
Последний пост: Force
  Настройка сервера High Five TieLay 2 5,545 09-21-2023, 07:49 AM
Последний пост: Lafani
  Java dev hired! Krasib 0 1,103 08-15-2022, 10:00 AM
Последний пост: Krasib
  Проинвестирую открытие сервера antiaf 0 1,467 02-20-2022, 02:08 PM
Последний пост: antiaf
  [Шара] Полный пак всех html (RU\ENG) с off сервера. L2CCCP 20 9,648 01-19-2021, 12:41 AM
Последний пост: Esferol
  SVN ссылки Java серверов. PROGRAMMATOR 284 234,119 11-19-2020, 08:50 PM
Последний пост: AbsolutePower
  Остались ли ещё опенсорсные сервера? PrintScr 0 1,380 05-09-2020, 03:15 AM
Последний пост: PrintScr
  Ребята помогите с настройкой сервера la2 Heon 11 2,834 04-15-2020, 10:36 PM
Последний пост: Shady
  Непонятный пакет сервера kotelok 2 1,565 01-04-2020, 06:51 PM
Последний пост: kotelok

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)