1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Падение TPS из-за перегруза ядра

Тема в разделе "Управление сервером Bukkit", создана пользователем Nobble, 7 авг 2022.

  1. Автор темы
    Nobble

    Nobble Новичок

    Баллы:
    16
    Здравству, Rubukkit.

    Столкнулся с проблемой просадки Тпс на своём сервере.

    Мой сервер:

    30ГБ Озу

    8 ядер 4. 7Ghz

    Ссдшник

    Ядро Paper

    При онлайне >40 начинается просадка Тпса с 20 до 19-18. Понятное дело, чем больше будет онлайна, тем больше просадка.

    Когда зашёл в Htop, увидел, что одно из ядер долбится в сотку(другие отдыхают). Общая загрузка проца 11-13.

    Из-за того, что сайт таймингов Айкара лежит, могу предоставить только Spark - https://spark.lucko.me/mW5N1RSgnW

    Конфиги от Бакита, Спигота, Пейпера были давно уже оптимизированных, лагучих плагинов, по моим наблюдениям, больше не осталось.

    Хотел бы от вас получить. В какую сторону сервер надо оптимизировать.
     
    Последнее редактирование: 8 авг 2022
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Стоит посмотреть в сторону вертикального масштабирования - поделить сервер на несколько серверов поменьше, на каждый по миру. Тебе эти 30гб на один сервер в любом случае не сдались, хоть толк будет, да другие ядра получится использовать.

    Если пока не хочешь браться за радикальные правки, то вариантов не много, если конфигами уже занимался. Ядро неплохо было бы сменить - в твоем случае можно Airplane попробовать. Для версий посвежее 1.16 есть свои альтернативы. 30гб, опять же, тебе не сдались - сбрось до 12гб хотя бы. Можешь посмотреть в сторону динамичной оптимизации - например использовать ViewDistanceTweaks, FarmControl.
     
  3. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
    (Я бы также предложил использовать форки, которые по производительности ушли куда дальше бумаги на 1.16.5. На этой версии лучше всего себя показывает Patina)
     
  4. karamzyatina

    karamzyatina Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    karamzyatina
    Можно использовать Mirai, он очень хорош!
     
  5. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Скопирую ка я своё соббщение.

    Подведу ка я итоги своего недавнего опыта с ядром Mirai. До него держал сервер на дефолтном Pufferfish, сервер стоял у меня на версии 1.18.2. У игроков там есть креатив и пользоваться они могут почти всем чем захотят, а механики особо не нарушены, тоесть мобы спавнятся, спавнера работают а арморстенды падают. Разве что с лаг-машинами им пришлось бы постараться, но это уже отступления.
    С серверами помогаю людям чуть более 2х лет, так что опыт в оптимизации имею достаточный.
    Хотелось поднабрать знаний о новых ядрах, мол как они себя поведут на таком сервере, да и Puffer для меня не подходит. Требования у меня к ядру были стандартные - чтобы не жрало много ресурсов и чтобы имело ряд настроек из PurPur, так что Mirai показалось неплохим вариантом. На ванильные механики было мне по сути плевать.
    Поставил я его на сервер не за долго до рекламы. За день до неё, если быть точным, что собственно сыграло со мной злую шутку. По началу я совершенно не заметил изменений, между ним и Pufferfish. Я подумал: "ну, пускай будет, мало ли, никакого прироста, но всё же ряд доработок от пурпура, как альтернейтив кипалайв всё же полезны", но все мои надежды были обрушены после начала рекламы.
    На сервак зашло 40, 50, а потом и 60 людей. По началу всё, конечно, было более-менее стабильно, хотя первые звоночки, в виде редких пролагов уже звенели, но придавать этому внимания я особо не стал. Вся соль открылась уже после 6-7 часов работы сервера, т.к. пролаги стали регулярными, из за чего играть нормально было практически невозможно. Буквально раз в минуту были фризы на 3-5 секунд. Тут я уже заподозрил неладное. Замерил я спарк, и не обнаружив ничего в нем, кроме красных показателей GC, полез смотреть график потребления памяти. И тут меня порвало. MIRAI сжирал все мои 8 выделенных ему гигов, из за чего собственно лаги при отрабатывании GC и происходили. Но я просто в шоке был от его прожорливости, ведь пуффер регулярно выжирал не более 5,6-6 гигов в крайнем случае. Ладно думаю. Осталась у меня еще память. Перезагрузив сервер я выделил ему 10 гигабайт и стал ждать завтра.
    На завтрашний день всё было в точности так же. Уже 10 гигабайт он стал выжирать, что совсем было верхом наглости.
    В итоге я решил выделить 12 гигов, и даже так оно не успокоилось. 12 гигов ему хватило уже на большее время работы без лагов, но всё же ядро решило, что оно слишком афигенное и решило выжрать все 12 гигов уже через 9 часов работы.
    Я даже решил проверить свой сервер на мемори лики. Через мат-перемат я анализировал /spark healpsummary и /paper heap. Не найдя ничего там, я решил, на свякий, оптимизировать свой сервер еще больше, перекодив ряд плагинов и удалив немного лишнего, благо заменить там было что, но желаемого результата я так и не достиг.

    В общем говоря, через неделю ни к чему не приведших тестов я торжественно отправил Mirai на помойку, перейдя на PurPur. Ни о чем не жалею.
     

Поделиться этой страницей