Přejít k obsahu

Analýza výkonu – Spark a TPS

Změřte TPS, odezvu a profilujte Minecraft server příkazem /spark. Jak číst výsledky a efektivně odstranit úzká hrdla.

TPS (ticks per second – počet herních ticků za sekundu) je základním měřítkem stability Minecraft serveru – ideální a maximální hodnota je přesně 20.0 TPS. Hodnoty pod 18.0 znamenají znatelné zpomalení a pod 15.0 se hra stává trhanou a nepříjemnou. Spark je moderní profilovací plugin, který měří TPS v reálném čase a přesně identifikuje procesy, které server brzdí.

Spark funguje na serverových jádrech s podporou pluginů: Paper, Spigot, Purpur, Folia a dalších s API Bukkit. Na čisté Vanille pluginy nefungují – tam vycházejte z grafů v záložce Konzole.

#Rychlé měření TPS bez doplňků

V konzoli serveru nebo přímo ve hře (s právy OP) zadejte:

tps

Na jádře Paper příkaz timings on spustí měření zátěže a po cca 30 sekundách příkaz timings end vygeneruje odkaz na zprávu. To představuje skvělý první krok při podezření na záseky.

#Instalace nástroje Spark

  1. Stáhněte nejnovější sestavení spark.jar z oficiálního webu nebo GitHubu projektu.
  2. Zastavte server.
  3. Nahrajte soubor do složky plugins v záložce Soubory → Nahrát.
  4. Spusťte server.

#Měření TPS v reálném čase

Ve hře nebo v konzoli zadejte:

/spark

Záložka TPS zobrazuje průměr za poslední 1, 5 a 15 minut:

Hodnota TPS Stav serveru
20.0 Server běží naprosto plynule a bez zpoždění
18.0–19.9 Drobné odchylky, většinou hráčsky nepostřehnutelné
15.0–17.9 Znatelné zpoždění při vyšším počtu hráčů
méně než 15.0 Kritické přetížení – je nutné provést profilování a optimalizaci

#Profilování zátěže (Profiler)

/spark profiler start
# nechte server běžet s hráči 3 až 5 minut
/spark profiler stop
/spark profiler view

Vygenerovaný odkaz otevře interaktivní stromový přehled zobrazující, jaké procento procesorového času zabírají jednotlivé herní operace:

Výsledek v reportu Sparku Doporučený krok
Vysoké procento v Entity / Mob Přemnožení mobové – snižte limity spawnů a omezte automatické mob farmy
Zátěž v Chunk / World gen Hráči objevují nový terén – proveďte pregeneraci chunků
Tick functions pluginu Název pluginu je přímo uveden – aktualizujte jej, přenastavte nebo nahraďte
Zátěž v GC (Garbage Collection) Nedostatek paměti RAM – viz Out of memory

Pokud jediný plugin spotřebovává více než 20 % výpočetního času jednoho ticku, v 9 z 10 případů je hlavním viníkem lagů. Aktualizujte jej na nejnovější verzi, nebo jej dočasně vypněte a porovnejte rozdíl v TPS.

#„One tick took X seconds” v konzoli

Řádek Can't keep up! Is the server overloaded? nebo One tick took 2.51s v konzoli znamená, že server nestíhá. Rychlá pomoc: méně hráčů, zapněte /spark a odhalte zdroj zátěže. Systémově: zvyšte limit RAM nebo omezte obsah světa.

#Nejčastější problémy

#TPS je nízké, ale využití CPU v panelu je malé

To obvykle značí I/O disku nebo GC – server čeká na operace a nevytěžuje procesor. Zkontrolujte graf Vstup/Výstup disku pod konzolí a v reportu Sparku prověřte položku GC.

#Spark po nahrání nenaběhne

Plugin vyžaduje restart. Restartujte server a zkontrolujte v záložce Konzole, zda při startu nedošlo k chybě verze (Spark vyžaduje odpovídající řadu jádra Paper).

#TPS je stabilních 20.0, ale hráči hlásí záseky

Lag na straně klienta (internet, hardware) nebo velká vzdálenost od spawnu. Zkontrolujte Dohlednost a Simulační vzdálenost v záložce Konfigurace → Síť a výkon – nižší hodnota = lehčí server. Viz Lagy a optimalizace.

#Co dál

Nezbytné technologie běží vždy. Funkční, analytické a marketingové zapneme jen s vaším souhlasem.

Zásady ochrany osobních údajů a cookies