Przejdź do treści

Analiza wydajności — Spark i TPS

Zmierz TPS, opóźnienia i profiluj serwer Minecraft komendą /spark. Jak czytać wyniki i co naprawiać.

TPS (ticks per second) to podstawowy wskaźnik wydajności serwera — pełna wydajność to 20.0 tps. Poniżej 18 zaczynają się odczuwalne lagy, poniżej 15 świat ledwo działa. Spark to narzędzie, które mierzy TPS na żywo i pokazuje, co dokładnie spowalnia serwer.

Spark działa na silnikach pluginowych: Paper, Spigot, Purpur, Folia i innych z API Bukkit. Na czystym Vanilla nie ma komend — tam opierasz się na wykresach w CONSOLE.

#Szybki pomiar TPS bez pluginu

W konsoli serwera albo w grze:

timings

Na Paperze komenda timings on uruchamia pomiar, po 30 sekundach timings end generuje raport na stronie timings.io. To pierwszy krok, gdy podejrzewasz lag.

#Instalacja Spark

  1. Pobierz spark.jar z GitHub (zestaw Spark).
  2. Stop serwera.
  3. Wgraj plik do katalogu plugins w FILESUPLOAD.
  4. Uruchom serwer.

#Pomiar TPS

W grze, z uprawnieniami administratora:

/spark

Zakładka TPS pokazuje średnią z ostatnich 1m / 5m / 15m. Czytaj tak:

Wartość Stan
20.0 Serwer działa z pełną prędkością
18–19.9 Drobne spadki, zwykle nie odczuwalne
15–17.9 Lagy odczuwalne przy wielu graczech
poniżej 15 Serwer na granicy — profiluj i naprawiaj

#Profilowanie — co spowalnia serwer

/spark profiler start
# graj / pozwól serwerowi działać 2–3 minuty
/spark profiler stop
/spark profiler view

Raport pokazuje, jaki procent czasu serwer spędza w konkretnych operacjach. Typowe wyniki:

Co pokazuje Spark Co naprawiać
dużo czasu w Entity / Mob za wiele mobów — zmniejsz Spawn monsters / ogranicz mob farmy
Chunk / World gen gracze odkrywają nowy teren — pregeneracja chunków
Tick functions pluginu nazwa pluginu obok — zaktualizuj albo usuń ten, który dominuje
GC (garbage collection) nie dość RAM — patrz Out of memory

Jeden plugin zużywający >20% czasu ticka to winowajca w 9 z 10 przypadków lagów. Zaktualizuj go do najnowszej wersji albo zrestartuj serwer z nim wyłączonym i porównaj TPS.

#„One tick took X seconds” w konsoli

Linia Can't keep up! Is the server overloaded? albo One tick took 2.51s oznacza, że serwer nie nadąża. Doraźnie: mniej graczy, włącz /spark i zidentyfikuj źródło. Systemowo: podnieś limit RAM albo ogranicz zawartość świata.

#Najczęstsze problemy

#TPS niski, a na wykreśle CPU mało

To zwykle I/O dysku albo GC — serwer czeka na operacje, nie obciąża CPU. Zerknij do zakładki DISK I/O pod konsolą i do raportu Spark pod kątem GC.

#Spark nie startuje po wgraniu

Plugin wymaga restartu. Zrestartuj serwer i sprawdź w CONSOLE, czy przy starcie nie ma błędu wersji (Spark wymaga konkretnej linii Paper).

#TPS dobre, a graczom nadal muli

Lag po stronie klienta (internet, sprzęt) albo duża odległość od spawnu. Sprawdź View distance i Simulation distance w CONFIGNETWORK & PERFORMANCE — niższa wartość = lżejszy serwer. Patrz Lagi i optymalizacja.

#Co dalej