⚡ Современная оптимизация современных серверов

⚡ Современная оптимизация современных серверов

-XX:+UseCompressedOops
Потенциально способно ускорить работу сборщика мусора, а риски почти отсутствуют.
Насколько я знаю, JVM сама включает этот флаг на 64битных системах. По крайней мере, сейчас проверил на Temurin 17, он везде включён

Был бы интересен разбор этих флагов
ибо тут целый сборник, отдельно для серверов и клиентов, и с поддержкой GraalVM
 
Интересно для velocity какую лучше java ставить?
Интересно для velocity какие лучше аргументы запуска устанавливать?
 
В том и прикол что никто не тестировал аргументы разные на velocity/bungecord чтобы выявить флаги помогающий в чём-то для прокси ядер, т.к прокси ядро тоже полезная штука.
Хоть существует прокси ядро написанное на golang/rust но оно не поддерживает java plugins написанные под velocity/bungecord.
 
В том и прикол что никто не тестировал аргументы разные на velocity/bungecord чтобы выявить флаги помогающий в чём-то для прокси ядер, т.к прокси ядро тоже полезная штука.
Скажем так - тут можно логически уже додумать. Если аргументы не ломают майнкрафт сервер - то они вероятнее всего не сломают и прокси.
Да еще и не стоит забывать что на прокси за частую убирается такая проблема как рассинхрон.
Авто объединение сообщений:

Насколько я знаю, JVM сама включает этот флаг на 64битных системах. По крайней мере, сейчас проверил на Temurin 17, он везде включён

Был бы интересен разбор этих флагов
ибо тут целый сборник, отдельно для серверов и клиентов, и с поддержкой GraalVM
Было время - тестировал альтернативные сборщики мусора.
Чесс слово - лучше G1GC пока еще ничего не придумали.
Быть может ZGC на 21 джаве подлатали, но год назад всё было плачевно
 
В том и прикол что никто не тестировал аргументы разные на velocity/bungecord чтобы выявить флаги помогающий в чём-то для прокси ядер, т.к прокси ядро тоже полезная штука.
JVM достаточно производительна по умолчанию. Пердолинг с флагами нужен основанным на ванилле ядрам, потому что там главный поток, и это заставляет нас сильно зависеть от сборщика мусора и прочих факторов. А тестировать такое сложно, потому что мало у кого есть возможность менять флаги на прокси с хотя бы 200 игроками. А если такая возможность есть, он вряд ли станет экспериментировать на продакшене

Было время - тестировал альтернативные сборщики мусора.
Он не про другие сборщики мусора, а про G1. Автор также тестировал другие сборщики, и ему ничего не понравилось. Хотя знаю людей, которым нравится Shenandoah
 
Последнее редактирование модератором:
Решил я вспомнить про такую штуку как флаги запуска.
А именно про то, что на самом деле 99% людей вообще в душе не чают что они в свой запускатор пихают, надейясь на то, что это им магическим образом оптимизирует сервер, ведь дяденька из интырнытов так сказал, а дяденька этот наверняка всё изучил.
ого, спасибо за столь большой разбор. в ближайшем времени нужно посмотреть чего нового там появилось спигот-форках и обновить статью
 

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


Теперь можно не изменять время между сохранениями миров
 
Теперь можно не изменять время между сохранениями миров
У Elc-и в dev ветке был подобный патч (около полугода назад, 1.7), который не перешел в основную версию из-за не эффективности и возможных ошибках.
Коротко к чему это может привести: Дюп/исчезновение сущностей и/или повреждение их инвентарей/или ошибка при сохранении (Вероятность небольшая, но она есть).

Правильный индекс (за место ванильного) ускорит сохранение настолько, что необходимость в асинхронном сохранении отпадет
 
У Elc-и в dev ветке был подобный патч (около полугода назад, 1.7), который не перешел в основную версию из-за не эффективности и возможных ошибках.
Коротко к чему это может привести: Дюп/исчезновение сущностей и/или повреждение их инвентарей/или ошибка при сохранении (Вероятность небольшая, но она есть).

Правильный индекс (за место ванильного) ускорит сохранение настолько, что необходимость в асинхронном сохранении отпадет

You must be registered for see images
 
Коротко к чему это может привести: Дюп/исчезновение сущностей и/или повреждение их инвентарей/или ошибка при сохранении (Вероятность небольшая, но она есть).
Здесь же в основном потоке сохраняется снапшот в кампаунд, а в асинс выведена только сама запись кампаунда на диск. Не будет от этого ничо, просто io перенесли в асинс
И папер, и пафферфиш пишут, что не могут быть на 100% уверены, конечно. Но некоторые пишут, что у них месяцами всё работает как часы
 
Здесь же в основном потоке сохраняется снапшот в кампаунд, а в асинс выведена только сама запись кампаунда на диск. Не будет от этого ничо, просто io перенесли в асинс
И папер, и пафферфиш пишут, что не могут быть на 100% уверены, конечно. Но некоторые пишут, что у них месяцами всё работает как часы
io итак всегда было ,,асинс,, еще от mojang
Тут конкретно серелизация nbt в массив байт.
Если nbt будут изменены в этот момент - будет ошибка.
Выставь частоту сохранения в 2 секунды, понаспавни кучу мобов, заставь их драться друг с другом - и минуты не пройдет как словишь десяток ошибок
 
И прямь

Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
Считаю это ошибкой, это не ядра а потоки (paper-global.yml)
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
Назад
Сверху Снизу