spark − профилировщик производительности для Minecraft. Он показывает, на что сервер тратит время тика: сущности, чанки, плагины, моды, GC. С профилем оптимизировать становится проще, чем наугад.
Установка
Скачивайте только с официальной страницы или Modrinth − выбирайте сборку под ваше ядро.
- Paper / Spigot / Purpur − jar в папку
plugins. На свежих Paper (примерно 1.21+) и Purpur spark часто уже встроен: отдельный jar не нужен, команды работают сразу. - Fabric / NeoForge / Forge − jar в папку
mods(на Fabric обычно нужен Fabric API).
После установки перезапустите сервер. Как класть файлы: плагины / моды.
Снять профиль во время лагов
Команды можно вводить в консоли панели или в игре от имени оператора.
- Дождитесь момента лагов (или воспроизведите нагрузку).
- Запустите профилировщик на 30–60 секунд:
spark profiler start --timeout 60
Без--timeoutпрофилирование не остановится автоматически, поэтому нужно остановить вручную:spark profiler stop
- В консоли появится ссылка на viewer на spark.lucko.me − откройте её в браузере.
/plugins/spark/.
Короткий профиль на «пустом» сервере почти ничего не покажет. Снимайте во время реальной нагрузки: игроки онлайн, генерация чанков, работа ферм.
Как читать результат
Первыми во viewer идут виджеты со статистикой по важным параметрам производительности сервера:
- TPS (тики в секунду);
- MSPT (миллисекунды на тик);
- CPU (загрузка процессора);
- Memory (использование оперативной памяти);
Далее идет дерево вызовов по потокам с пояснениями рядом с ними. Ищите узлы с большим процентом времени. Частые виновники:
- сущности и AI мобов (фермы, спавнеры);
- загрузка и генерация чанков;
- конкретный плагин или мод в стеке (имя пакета/класса часто намекает на автора);
- сохранение мира или тяжёлые задачи планировщика.
Подробнее о работе viewer и его возможностях можно узнать в официальной документации.
Полезные команды рядом
spark tps− TPS и краткая сводка нагрузки.spark health− CPU, память, GC, тики.spark heapsummary− что занимает кучу (если подозреваете утечку памяти).
Полный список флагов профилировщика − Command Usage.
Что делать дальше
- Нашли тяжёлый плагин/мод − отключите его на тест и сравните TPS.
- Сущности/чанки − снизьте
view-distance, почистите фермы, посмотрите конфиги Paper. - CPU забит − возможно, нужен большее мощный тариф: как сменить тариф.
Дополнительно про оптимизацию и лог Can't keep up! − в отдельной статье.