Падение TPS

Jover

Пользователь
Сообщения
39
Всем привет.

Не большая проблема, при онлайне 10-15 человек начинается кратковременное снижение TPS с какой то периодичностью, не могу понять в чём причина.
Тайминги:
Сервер на 1.19 Paper
Иногда падает до 18 тпс

Ниже прикрепил список плагинов.
10 гб Озу/4-х яд проц

Попрошу не кидаться камнями, а подсказать, ткнуть в проблему.
Спасибо :)
 

Вложения

  • список.JPG
    список.JPG
    47.4 KB · Просмотры: 27
Решение
А в спарке написано то что их 8?
Вам необходимо зарегистрироваться для просмотра изображений-вложений


Используй или вместо paper

Если ты так хочешь нагрузить интернет игроков отсутствием сжатия трафика (не до конца проверенная инфа), то используй антииксрей, который встроен в paper.yml вместо отдельного плагина orebfuscator, так будет меньше нагрузки (проверенная инфа)

Отключи ненужные функции, такие как сохранение текстов табличек и ещё что-то, вообщем сам посмотри, в плагине coreprotect

Вам необходимо зарегистрироваться для просмотра изображений-вложений

ну тут без комментариев

Добавь в параметры запуска следующие аргументы: -XX:+UseLargePages -XX:LargePageSizeInBytes=2M -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu...
Ух, буду пробовать спасибо!
Почему только что обратил внимание, что флагами выделено ОЗУ 10 ГБ, а Spark в своем репорте пишет 3,6 ГБ.
Сколько у контейнера с сервером выделено?
 
Почему только что обратил внимание, что флагами выделено ОЗУ 10 ГБ, а Spark в своем репорте пишет 3,6 ГБ.
Сколько у контейнера с сервером выделено?
Если я правильно понял тебя, 10 гб ОЗУ выделено на сервер
Авто объединение сообщений:

Почему только что обратил внимание, что флагами выделено ОЗУ 10 ГБ, а Spark в своем репорте пишет 3,6 ГБ.
Сколько у контейнера с сервером выделено?
Слушай а если перебрать плагины? Возможно альтернативы?
Насколько я помню, ранее таких моментов не было, этот сервер держу месяцев 8.

Такое начиналось с переходом на 1.19 и добавление нескольких плагинов.
 
Последнее редактирование:
Для начала бы все таки прекратить использовать Serial GC и перейти хотя бы на G1GC, как я описал выше, может это и решит проблему.

Смысл перебирать плагины есть, если точно знать, что есть утечка. По репорту из спарка нет никаких проблем, связанных с использованием процессора плагинами. Судя по MSPT и статистики GC, можно говорить о том, что в данном случае первое зависит от второго, даже цифры похожие собрать можно.
 
Для начала бы все таки прекратить использовать Serial GC и перейти хотя бы на G1GC, как я описал выше, может это и решит проблему.

Смысл перебирать плагины есть, если точно знать, что есть утечка. По репорту из спарка нет никаких проблем, связанных с использованием процессора плагинами.
Сегодня днём пробовал устанавливать флаги G1GC после 15 минут работы, сервер полностью лёг, как я понял память мгновенно забилась.
Не смог запустить около 20 минут, намертво повис
 

Вложения

  • 543534534534.JPG
    543534534534.JPG
    48.2 KB · Просмотры: 5
Сегодня днём пробовал устанавливать флаги G1GC после 15 минут работы, сервер полностью лёг, как я понял память мгновенно забилась.
Не смог запустить около 20 минут, намертво повис
У меня были проблемы с переходом на G1GC, тоже заполнялась память. Но тогда я точно знал, что присутствовала утечка. Пробуй ParallelGC. Я бы вообще посоветовал не указывать, какой GC использовать, но в птеродактиле, видимо, какие-то новшества внедрили...
 
У меня были проблемы с переходом на G1GC, тоже заполнялась память. Но тогда я точно знал, что присутствовала утечка. Пробуй ParallelGC. Я бы вообще посоветовал не указывать, какой GC использовать, но в птеродактиле, видимо, какие-то новшества внедрили...
Вот ещё скриншот, не знаю чем может быть полезен но вдруг.
В эти моменты когда где выделил, кратковременно ТПС падает.

То есть он не постепенно, а резко.
Сегодня попробую ParallelGC, спасибо!
 

Вложения

  • 765675567567.JPG
    765675567567.JPG
    108.8 KB · Просмотры: 14
Вот ещё скриншот, не знаю чем может быть полезен но вдруг.
В эти моменты когда где выделил, кратковременно ТПС падает.

То есть он не постепенно, а резко.
Сегодня попробую ParallelGC, спасибо!
В идеале обработка каждого тика (MSPT) должна занимать не более 50ms, чтобы гарантированно получить 20 TPS, на твоём скриншоте спарк ловит те, которые превышают 50ms, но все они в пределах нормы +/-, так как они относительно редко возникают. Кроме одного тика (рядом с которым ты отметил падение TPS), в котором происходит сборка мусора GC (она занимает почти 1 секунду, когда обработа тика не должна превышать 50-100ms!). В общем, надо решать вопрос с GC.

UPD: вышла оговорочка с тем, сколько должен обрабатывается один тик, исправил, но суть не меняет.
 
Последнее редактирование:
В идеале обработка каждого тика (MSPT) должна занимать не более 100ms, чтобы гарантированно получить 20 TPS, на твоём скриншоте спарк ловит те, которые превышают 100ms, но все они в пределах нормы +/-, кроме одного тика, в котором происходит сборка мусора GC (она занимает почти 1 секунду, когда обработа тика не должна превышать доли секунды!). В общем, надо решать вопрос с GC.
Добавил ParallelGC, теперь параметры выглядят так:

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Нет" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui

Из за панельного хоста к сожалению не могу менять мгновенно параметры.
Такой вопрос. Флаги аикара добавлять?

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Да" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui
 
Добавил ParallelGC, теперь параметры выглядят так:

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Нет" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui

Из за панельного хоста к сожалению не могу менять мгновенно параметры.
Такой вопрос. Флаги аикара добавлять?

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Да" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui
Сначала смотри, как работает с ParallelGC. По хорошему все же использовать G1GC. Позже, конечно, стоит попробовать флаги Айкара, там в полной мере задаются параметры G1GC.
Авто объединение сообщений:

Добавил ParallelGC, теперь параметры выглядят так:

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Нет" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui

Из за панельного хоста к сожалению не могу менять мгновенно параметры.
Такой вопрос. Флаги аикара добавлять?

java -Xms128M -Xmx10240M -Dspt=25993 -XX:+UseParallelGC `if [[ "Да" == "Да" ]] ; then echo "[hidden]" ; fi` -Dlog4j2.formatMsgNoLookups=true -Dfml.queryResult=confirm -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui
Заметил, что тебе предлагали уже и Shenandoah GC, который вроде как и по-круче G1GC будет. Ну, я даже не знаю, как можно настолько сажать производительность и чем. В идеале потестить сервер без плагинов, потом по одному-два докидывать, так, может, и найдется *****. Опять же, нельзя говорить, что существует утечка, но у меня уже идеи кончаются :)

Ты один на сервере или есть игроки?
 
Последнее редактирование:
Сначала смотри, как работает с ParallelGC. По хорошему все же использовать G1GC. Позже, конечно, стоит попробовать флаги Айкара, там в полной мере задаются параметры G1GC.
Авто объединение сообщений:


Заметил, что тебе предлагали уже и Shenandoah GC, который вроде как и по-круче G1GC будет. Ну, я даже не знаю, как можно настолько сажать производительность и чем. В идеале потестить сервер без плагинов, потом по одному-два докидывать, так, может, и найдется *****. Опять же, нельзя говорить, что существует утечка, но у меня уже идеи кончаются :)

Ты один на сервере или есть игроки?
В данный момент отключил сервер(
Открыл вайт лист, и по запускаю по немного людей.
В этот же момент ищу альтернативы плагинам, которые ставил недавно
 
Надеюсь, ты не забьешь на эту проблему (и я не забью), ибо она действительно интересная и, скорее всего, останется актуальной в вопросах по оптимизации.
Речь о том что на 1.19 падает тпс а на 1.18.2 стабильно держится?
 
Речь об оптимизации Garbage Collector и утечках памяти.
Вроде практически полностью решил проблему.
И состоялась она в банальных вещах, плагинах!
Немного перебрал и убрал LeaderHeads и MoneyFromMobs.

Сегодня собрал обратную связь от игроков и полёт нормальный!
Стало на много лучше. (Стабильно 20 и макс.снижение до 19)

По поводу параметров запуска было принято решение вернуться на UseSerialGC т.к почему то, только на них самый стабильный ТПС....
Максимально странно и не понятно.


UseParallelGC и UseG1GC просто кладут сервер, память мгновенно забивается.
Авто объединение сообщений:

Если у кого то есть информация по аналогу плагина MoneyFromMobs (Деньги с мобов)
Дайте обратную связь пожалуйста!)
 
Вроде практически полностью решил проблему.
И состоялась она в банальных вещах, плагинах!
Немного перебрал и убрал LeaderHeads и MoneyFromMobs.

Сегодня собрал обратную связь от игроков и полёт нормальный!
Стало на много лучше. (Стабильно 20 и макс.снижение до 19)

По поводу параметров запуска было принято решение вернуться на UseSerialGC т.к почему то, только на них самый стабильный ТПС....
Максимально странно и не понятно.


UseParallelGC и UseG1GC просто кладут сервер, память мгновенно забивается.
Авто объединение сообщений:

Если у кого то есть информация по аналогу плагина MoneyFromMobs (Деньги с мобов)
Дайте обратную связь пожалуйста!)
Money from mobs пробовал возвращать не возвращая leaderHeads?
Аналог:
 
Вроде практически полностью решил проблему.
И состоялась она в банальных вещах, плагинах!
Немного перебрал и убрал LeaderHeads и MoneyFromMobs.

Сегодня собрал обратную связь от игроков и полёт нормальный!
Стало на много лучше. (Стабильно 20 и макс.снижение до 19)

По поводу параметров запуска было принято решение вернуться на UseSerialGC т.к почему то, только на них самый стабильный ТПС....
Максимально странно и не понятно.


UseParallelGC и UseG1GC просто кладут сервер, память мгновенно забивается.
Авто объединение сообщений:

Если у кого то есть информация по аналогу плагина MoneyFromMobs (Деньги с мобов)
Дайте обратную связь пожалуйста!)
Максимально странная штука. Просадка до 19 в принципе приемлема, скорее всего, в это время Serial GC и чистит кучу.
 
Money from mobs пробовал возвращать не возвращая leaderHeads?
Аналог:
Буду пробовать!
Авто объединение сообщений:

Money from mobs пробовал возвращать не возвращая leaderHeads?
Аналог:
Money from mobs сжирает ТПС в геометрической прогрессии!
Опять просады до 14--15.


Хотя отключал разные штуки по типу эффектов и т.д при дропе монет.
 
Последнее редактирование:
Буду пробовать!
Авто объединение сообщений:


Money from mobs сжирает ТПС в геометрической прогрессии!
Опять просады до 14--15.


Хотя отключал разные штуки по типу эффектов и т.д при дропе монет.
а этот как показал себя?
 
Назад
Сверху Снизу