Поиск по Wiki

Поиск по статьям и инструкциям

Диагностика лагов через Spark

📉 Почему падает TPS сервера?#

Снижение показателя TPS (тиков в секунду ниже нормальных 20.0) обычно вызвано одной из четырех причин:

  • Слишком много сущностей в одном месте (огромные фермы коров, овец или жителей).
  • Зависшие или плохо оптимизированные плагины, выполняющие тяжелые расчеты в главном потоке.
  • Большое количество воронок, редстоун-схем или механизмов.
  • Непрерывная генерация новых чанков при быстром полете игроков на элитрах.

Профайлер Spark — самый точный инструмент для диагностики нагрузки и выявления конкретных источников лагов.


⚡ Быстрая диагностика в реальном времени#

Если Spark установлен на сервере (или встроен в ядро Purpur), вы можете мгновенно проверить здоровье сервера:

1. Проверка общего состояния:#

text
/spark health

Команда покажет текущий TPS, загрузку процессора, использование оперативной памяти и задержку дисковых операций.

2. Подсчет сущностей в мире:#

text
/spark tps

Показывает среднюю частоту тиков за последние 10 секунд, 1 минуту и 15 минут.


🔬 Создание полного отчета профайлера#

Способ 1: Запуск через панель Obsy (В 1 клик)#

  1. В верхнем меню сервера перейдите в раздел «Обслуживание» → «Производительность».
  2. В карточке Spark Profiler нажмите кнопку запуска профайлера (не нужно вводить команды в чат или консоль).
  3. На этой же странице доступен мониторинг TPS и MSPT в реальном времени, а также автоматический аудит конфигураций с рекомендациями по оптимизации.
  4. По завершении записи вы получите прямую ссылку на веб-отчет.

Способ 2: Запуск через команды в игре или консоли#

  1. Начните запись профайлера во время реальной игры с нагрузкой:
    text
    /spark profiler start
  2. Подождите от 5 до 10 минут, пока сервер работает в стандартном игровом режиме.
  3. Остановите запись и сгенерируйте ссылку на отчет:
    text
    /spark profiler stop
  4. Плагин выведет в консоль защищенную ссылку на веб-страницу с анализом.

🧐 Как читать веб-отчет Spark?#

Открыв ссылку отчета в браузере, обратите внимание на дерево вызовов:

  1. Разверните главную ветку тика сервера (Server thread).
  2. Ищите строки, выделенные красным цветом с высоким процентом нагрузки (от 15% и выше).
  3. Если нагрузку создает плагин (например, CustomEnchants или Towny), вы увидите его название прямо в названии вызова.
  4. Если нагрузка приходится на мобов (entityTick), используйте команду поиска скоплений мобов /spark tickmonitoring или ограничьте лимиты в файле конфигурации мира.