✅ КАК ОПТИМИЗИРОВАТЬ СЕРВЕР В 2024 ГОДУ? [2.0]

✅ КАК ОПТИМИЗИРОВАТЬ СЕРВЕР В 2024 ГОДУ? [2.0]

framedev

Разработчик
Переводчик
Пользователь
Сообщения
66
framedev добавил(а) новый ресурс:

✅ КАК ОПТИМИЗИРОВАТЬ СЕРВЕР В 2024 ГОДУ? - Удалена статья 2021 года, теперь будет эта, актуальная и по сей день.

Как оптимизировать сервер.
Выжимаем максимум из плагинов.

[2.0]


В этой статье мы разберем оптимизацию сервера и зачем она вообще нужна.

Прошлая статья была неактуальной, поскольку была написана еще в 2021 году, спустя всё это время появилось много новой информации по оптимизации, которую мы разместили здесь.

[IMG...​

Узнать больше об этом ресурсе...
 
Ого, оптимизация в 2024 году, неужели исправились?

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


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



Ну чо, статья по оптимизация 2.0, а значит настало время делать "О том как FrameDev сервер "оптимизировали" 2.0"

Поехали как в прошлый раз

"Прошлая статья была неактуальной, поскольку была написана еще в 2021 году, спустя всё это время появилось много новой информации по оптимизации, которую мы разместили здесь."
Ну давай посмотрим, насколько актуальная она у нас.

1) Как проверить оптимизацию сервера?
"MSPT < 20 (до 35 плохо, но не критично. Выше будет -сервер)"

А кто сказал? А сами то играли на сервере с МСПТ > 35? Ощущали ли как это играется? Нет, я конечно не отрицаю, что если больше это не очень хорошо, но какой был смысл давать ИМЕННО ТАКОЕ значение?
Нет, ну на самом деле хорошо за 3 года так и не изменить свой взгляд на мир и думать что "меньше хорошо, а больше ужасно", держите планку кАчИсТвА, но это работает немного не так.
Напоминаю определение MSPT - Milli Seconds Per Tick. Также напоминаю, что в майнкрафте у нас 20 тпс. Используя математику за 2 класс (умножение, нифига ж себе!) можно вычислить, что максимальное время тика за которое укладывается в рамки 20 тпс - 50 МИЛИСЕКУНД, из чего можно сделать заключение, что если ваш МСПТ не превышает 50 - то на сервере вы можете играть вполне себе спокойно, не чувствуя лагов.
А следовательно сказать нужно было как минимум, что если мспт > 50 то -сервер, и то - даже это будет не так, ведь даже с 60 мспт и 16.6 тпс (с учетом, что у нас каждый тик длится 60 мс, а не только некоторые отдельные) люди вполне способны играть, хоть и с невероятным дискомфортом, что однако нельзя назвать "МИНУС СЕРВЕР"
"Напишите /timings on, подождите 3 минуты и пропишите /timings report. Если в процентах будет нагрузка выше 40%, все плохо. (Устаревший способ, не такой эффективный, как третий)
Используйте плагин Spark . После запуска сервера спустя 5 минут напишите /spark —profiler stop, вам выдается ссылка, по которой можно отследить всю нагрузку."

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

"Как бы это банально не звучало, но просто поставьте плагин WorldBorder и ограничьте количество блоков в КАЖДОМ из миров. Не только на спавне, или в мире для РТП, а на всех мирах, что есть у вас на сервере. Делается это одной простой командой. Телепортируемся в нужный мир и пишем: /worldborder set [кол-во блоков], мы рекомендуем ставить 5.000, но если у вас есть хотя бы 150+ онлайна, то поставьте 7.000 блоков."
"После устанавливаем плагин , перезагружаем сервер и прогружаем чанки."

Прогресс преследовал их, но они были быстрее. Да, живя сознанием в 2021 году, когда все делают гриферские сервера на 1.12.2 данный совет бы безусловно был бы полезен (нет, не был бы, по тому что тогда каждый школьник так или иначе уже знал про этот плагин...).
Но у нас название говорит не про 21 год, а про нифига себе аж 24, а следовательно наверное можно было бы изучить вопрос, рассказать про Chunky по человечески, можно было за 3 года узнать о существовании Chunky border вместо того чтобы советовать устарвеший мусорный плагин? Может быть можно было нифига себе изучить работу плагина Chunky не ограничиваясь 2мя командами и узнать про ВАНИЛЬНУЮ(!) команду /worldborder, при помощи которой можно АЖ без плагинов поставить грани мира.
Но хотя нет, планку надо держать, а по этому, че тут возникать то, правильно?

3) Используйте флаги в запускаторе
Вау всё правильно, хоть ошибиться и было нельзя.

4) Установите плагины для оптимизации
Ура моя любимая рубрика, раскрывающая идиотизм любых горе-оптимизаторов.

"Оптимизация на разных версиях отличается, но на все версии рекомендуем вам ставить плагины & . Второй не только помогает отследить нагрузку на сервер (такими командами как /tpsbar, и.т.д), но и также дает буст небольшой оптимизации вашего сервера. Используя Garbage Collector, плагин постоянно снижает потребление оперативной памяти, когда оно поднимается высоко.
По желанию можете установить так же плагин (1.14+ рекомендуем), при просадке TPS, если например, у вас на сервере лаг-машина, он отключает физику на 3 минуты, что может спасти сервер от падения. В остальном не очень полезный плагин, но если вы испытываете проблемы с лаг-машинами, то он вам поможет."

1) Повторяю для тупых:
Дорогой и многонеуважаемый автор данной цитаты, укажите нам пожалуйста, в каком месте спарк вызывает сборщик мусора и в каком месте он даёт прирост производительности сервера?
Разрушу надежды желающих увидеть ответ - его не будет, в связи с тем, что spark ничего из описанного касательно оптимизации не делает.
И даже напротив, бекграунд профайлер способен создать дополнительную нагрузку на ваш процессор своим регулярным замером. Спарк является лишь профилировщиком и ни чем иным.
2) Повторяю для тупых:
все "оптимизирующие" функции clear lagg уже как лет 7 были добавлены в Paper, если не в спигот.
И не нужно большого ума, чтобы данный факт проверить.
Вот все оптимизирующие функции которые есть в ClearLagg:
Option to reduce TNT lag or chain reactions - spigot.yml / max-tnt-per-tick
Option to limit mob spawners - paper.yml / mob-spawner-tick-rate: 5
Locate overcrowded/abused chunks - paper.yml / delay-chunk-unloads-by и max-auto-save-chunks-per-tick
Limit AI processing attributes to save CPU - spigot.yml / nerf-spawner-mobs
Ну и неупомянутый на спиготе очищатель лута с пола - spigot.yml / item-despawn-rate и arrow-despawn-rate

А также заострю внимание на данной фразе - "Используя Garbage Collector, плагин постоянно снижает потребление оперативной памяти, когда оно поднимается высоко."
А можно пожалуйста предоставить развернутую информацию по тому, как это работает? Желательно со строчкой кода, который вызывает Garbage Collector?
После же того, как ты её предоставишь, прикрепи пожалуйста к своему ответу описание принципа работы флага из флагов айкара под названием +DisableExplicitGC
Очень жду.

Хотя ладно, а то от перенапряжения мозг горе-оптимизатора не выдержит и расплавится, напишу сразу тут.
ClearrLagg . Флаг +DisableExplicitGC же ОТКЛЮЧАЕТ плагинам такую возможность. Цитата : "Многие плагины думают, что они знают, как управлять памятью, и пытаются вызвать сборку мусора. Плагины, которые так делают, вызывают полную сборку мусора, что приводит к огромному скачку лага. Этот флаг запрещает плагинам пытаться делать это, защищая вас от их плохого кода."
Но зачем знать что делают флаги запуска и как работает гарбадж коллектор, мы же тут сервер оптимизируем в конце концов!

5) Ядра.
Где упоминание хотя бы одного из форков на 1.16.5/1.20+?
А ну да, мы же просто приписали 2024 из принципа, когда на деле живем в 2021 и других ядер на эти версии кроме бумаги не существует.

6) Bukkit.yml, Spigot.yml, Paper.yml
Ahh shit here we go again
Сразу оговорюсь - за адекватными значениями всем сразу сюда: https://spigotmc.ru/resources/sovremennaja-optimizacija-sovremennyx-serverov.613/

"Установите spawn-limits на monsters: 10, animals: 5, water-animals: 2, ambient: 0. Так вы сократите спавн мобов."
Нет, вы его скорее убьёте. Нет, конечно, опять же, не поспорить, для 1.12.2 грифа где на мобов всем плевать такие значения НУ МОЖЕТ БЫТЬ будут полезны, если сервер стоит на бесплатном панельном мусоре, однако для современных анархий, где мобофермы это святая святых - данные значения неприемлимы.

"Установите period-in-ticks на 300. Уменьшаем время, за которое будет выгружены неактивные чанки."
Ну тут нельзя ошибиться

"Установите query-plugins на false, чтобы нельзя было узнать плагины вашего сервера через левые ресурсы."
Не через левые ресурсы, а через query (изучаем server.properties и функцию enable-querry), который за частую используется для мониторингов, просто придирка.
"Уменьшите entity-activation-range. Этот параметр отвечает за отображение сущностей в определенном радиусе. Для максимальной оптимизации поставьте значения как на скриншоте. Мобы за пределами этого диапазона будут отмечаться реже. При желании можно повысить и до 32, но еще выше не рекомендуем."
Пупа и лупа пришли в бухгалтерию но там всё перепутали.
За ОТОБРАЖЕНИЕ сущностей отвечает entity-tracking-range, в то время как entity-activation-range отвечает за АКТИВАЦИЮ сущностей (т.е. за то, на каком расстоянии от игрока они начнут выполнять свою рутину, по типу рандомного движения и т.п.).
entity-tracking-range как раз таки нет необходимости уменьшать, если конечно вы не хотите чтобы игроки ходили на сервере как слепые кроты изредка натыкаясь на мобов, которые возникают перед ними из воздуха.

"Установите tick-inactive-villagers на false. Дополнительная экономия ресурсов."
Нельзя было ошибиться
"Установите max-joins-per-tick: 1. Это не позволит заходить игрокам чаще, чем в 1 тик. Полезно, если вы перезапускаете сервер на проде и у вас большой онлайн."
Нельзя было ошибиться

"Установите значение на 2. Сжатые объекты будут меньше сталкиваться. Это экономия TPS."
Нельзя было ошибиться

"Установите значение на true. Это предотвратит попадание игроков в неактивный чанк.
Нельзя было ошибиться

Но, это всё?
Неужели реально всё?
Ну, ладно, хотя бы мусора на сей раз меньше, но в целом информации не сильно больше, погоды такая поверхностная оптимизация конфигов не сделает

7) Не надейтесь только на количество ОЗУ
А я напоминаю про то что данный пункт написал бестолковый "оптимизатор" который не смыслит в принципе работы сборщика мусора (см выше про clearlagg)
Тут уже было всё обговорено.

8) CMI или Essentials?
Повторю почти слово в слово то, что говорил в прошлый раз
Полу-бесполезный раздел про то, как "оптимизировать" CMI.
Хотя на этот раз про то, что можно включить сохранение файлов в многопотоке сказано! Таки учли притензию, учли

9) Устраните багоюзеров
"Есть такие плагины как:
- Плагин, фиксящий множество пакет-эксплоитов на вашем сервере.
- поможет скрыть команды плагинов.
- Плагин, запрещающий создавать лаг-машины.
- Отличный плагин от эксплоитов, крашей, и.т.д."

Вижу, вижу, что учли наилучшие пожелания! На сей раз ошибок нет

10) Не используйте слитые плагины с форумов, пабликов ВК и ТГ каналов
Ошибки быть не могло

11) Не перегружайте сервер плагинами
"Много плагинов = Больше нагрузка."
Напоминаю - это не так, а почему - описано тут в 9 пункте https://spigotmc.ru/threads/o-tom-kak-framedev-server-optimizirovali.13060/
Тем не менее примечание "Если вы действительно знаете, зачем вам каждый плагин и какая от него нагрузка, то это не проблема." есть и это уже плюс.

12) Итог
Тащемто, что я могу сказать... Не смотря на то, что в АБНАВЛЕННОЙ статье учли аспекты моего первого разбора, его главная мысль прошла мимо.
Автор статьи всё так же не разбирается в вопросе в достаточной степени, что значит что статья как и предыдущая не несет в себе никакой практической ценности и всё еще в ряде аспектов даёт вредные советы, которым следовать уж точно не стоит.
Желаю автору всё же изучить матчасть.

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


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


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


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


Для сравнения онлайн автора ресурса и критикующего (если по чьему-то мнению это что-то решает)
Можно сюда еще приплюсовать
Вам необходимо зарегистрироваться для просмотра изображений-вложений

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

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

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

Вам необходимо зарегистрироваться для просмотра изображений-вложений
О, не знал
 
Ну вот так, хех
 
Почему вы называете Paper PaperSpigotом, когда этому названию уже ~10 лет? Вы майнкрафт тоже рубидангом называете?

А ещё лагассист уже год не поддерживается. Да и все эти плагины, содержащие слова "Lag" "AntiBot" "Fix" в большинстве случаев не работают. В ядре и так есть то, что предоставляют эти плагины. Вот только если ядро и не вызывает ивент, при плагине он обрабатывается, но отменяется. Лишняя нагрузка, не приводящая ни к чему, кроме как повышения мспт.

Написали "Прошлая статья была неактуальной", а по итогу написали такую же неактуальную статью
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
Для сравнения онлайн автора ресурса и критикующего (если по чьему-то мнению это что-то решает)
Не знаю где автор ресурса, а где критик, но это ничего не решает, у всяких седжо на серверах сборки полный отстой, но они популярны
 
Хренова туча мусорных ивентов и так будет бросаться вне зависимости от наличия обработчиков
знаю, ну хоть ничего не будет их обрабатывать. ну и например если понизить спавн мобов в ядре то ивентов на спавн моба будет меньше, если плагином то их будет столько же, но ещё и процессору придётся обрабатывать логику плагина на отмену этого ивента. И всё это в однопотоке
 
А что на счет плагина LagFixer?
А что на счет плагина LagFixer?
В нём полезно только CustomAi ну ещё ConsoleFilter может оказаться полезным дополнением. Всё остальное либо не работает корректно, либо бесполезно, либо наоборот увеличивает лаги.
 
Последнее редактирование:
Назад
Сверху Снизу