Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   6 настроек Java сервера , за что они отвечают ? (https://forum.zone-game.info/showthread.php?t=618)

hornet 20.05.2008 21:55

6 настроек Java сервера , за что они отвечают ?
 
# Не трогайте эти настройки если не знаете что они делают
ThreadPoolSizeEffects = 10
ThreadPoolSizeGeneral = 13
UrgentPacketThreadCoreSize = 2
GeneralPacketThreadCoreSize = 4
GeneralThreadCoreSize = 4
AiMaxThread = 6


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

che_ 24.05.2008 11:10

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
За что отвечает каждая настройка точно не знаю, но указывается размерность/количество определенных пакетов. Обычно все настраивается методом тыка.

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

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

(с)

InvenT 04.06.2008 16:21

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
А что он имено будет показывать!
Тоесть он будет работать быстрее?

log 04.06.2008 17:23

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
Цитата:

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

hornet 04.06.2008 17:49

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
Гдето читал , что ничего страшного произойти не может при правильном повышении этих параметров , это вобщем как процессор гнать =) , по немногу и постоянно проверять что получилось-стабильность !!!

InvenT 05.06.2008 07:25

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
Цитата:

Сообщение от log (Сообщение 6642)
Возможно ты найдешь подходящие параметры и сервер будет работать быстрее, но чаще люди наоборот усложняют работу сервера.

Ясненько будем знать!

CHIPSET 05.06.2008 15:23

Подробности этих настроек ...
 
Методом тыка настраиваются телевизор пультом и подобные приборы :) А здесь всё куда сложнее - это может реально вызвать большие проблемы вплоть до полного зависания 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 Гайд писал на скорую руку,так что если ошибся - поправьте.Если кому помог - жмите спасибо или + в репу ))) Просто очень интересно,интересуется ли этим вообще хоть кто-нибудь ^^

hornet 05.06.2008 16:03

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
А кто источник ( сайт ) если не секрет ?

CHIPSET 05.06.2008 16:43

Ответ: 6 настроек Java сервера , за что они отвечают ?
 
Не секрет - источник я сам.Потратил минут 10-15 на написание.Я уже не впервый раз занимаюсь написанием инструктажа по L2J.Но по конкретной теме пишу впервые,смотря на исходный код и в моменте вспоминая что-либо ... В недалёком будущем планирую создать полноценную спецификацию по L2J ;)
З.Ы Я и сам долго в этом разбирался - местами ещё те дебри ^^ Сейчас буду разбираться со схемой декрипции пакетов,если найду ту,что нужна :)

jerrydimko 06.06.2008 09:51

А если быть точне то что именно меняют эти настройки ? я имею ввиду какие процесыы ?

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


Текущее время: 18:57. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot