Гайд по Spark: ищем виновника лагов и спасаем TPS
TPS пробивает дно? Хватит гадать. Используем Spark — лучший профайлер для поиска лагучих плагинов и энтити.
Установка: быстрее, чем скрафтить верстак
Знакомая ситуация: TPS падает, блоки ломаются по три секунды, а вы гадаете, кто виноват — кривой плагин или чья-то ферма? Spark покажет сервер изнутри.
Переходим на официальный сайт Spark и скачиваем версию под ваше ядро.
Открываем файловый менеджер хостинга, заходим в папку plugins или mods.
Загружаем файл spark.jar и перезагружаем сервер. Готово!
Как пользоваться этой магией
Заходим в консоль сервера или в игру, если есть права, и пишем команду /spark profiler start.
Эта команда запускает сбор данных. Spark начинает записывать все: нагрузку на процессор, какие плагины едят ресурсы и сколько сущностей гуляет по мирам.
Дайте ему 5-10 минут активной игры для сбора нормальной статистики.
Когда данных достаточно, пишите /spark profiler open.
В ответ вы получите временную ссылку. Кликаем по ней и попадаем в панель управления Spark.
Читаем графики: вкладка Plugins
Чтобы увидеть всю подноготную сервера, разверните древо процессов.
В разделе плагинов можно посмотреть полный список и узнать, как сильно они бьют по производительности. Плагины вверху списка — главные спонсоры ваших лагов.
Вкладка World: ищем сущности
Здесь отображается состояние ваших миров, а главное — количество сущностей: мобов, дропа и рамок в каждом мире.
Если у вас недорогой тариф, а в мире творится ужас из тысяч сущностей, сервер начнет задыхаться.
Чтобы спасти ситуацию, уменьшите лимиты спавна мобов в конфигурационных файлах ядра: bukkit.yml, spigot.yml или paper-world-defaults.yml. Стабильных вам 20.0 TPS!
Часто задаваемые вопросы (FAQ)
❓ Часто задаваемые вопросы (FAQ)
Q: Безопасно ли запускать Spark на работающем сервере?
A: Да, Spark использует асинхронный сэмплер CPU и практически не создает дополнительных нагрузок.
Q: Как снять дамп оперативной памяти через Spark?
A: Выполните команду /spark heapsummary для быстрой сводки по объему объектов.
Q: Какое время считать нормальным для /spark profiler?
A: Снимайте профиль в течение 5–10 минут при максимальном онлайне игрока.
Нужна дополнительная помощь?
Если у вас остались вопросы по настройке сервера или вы хотите предложить тему для новой статьи, переходите в наши официальные сообщества.
