
spark to profiler wydajności dla klientów, serwerów i proxy Minecraft.
(Wersja na CurseForge jest przeznaczona wyłącznie dla Fabric/Forge/NeoForge!)
Przydatne linki
- Strona domowa - przeglądaj stronę projektu
- Dokumentacja - czytaj dokumentację i poradniki użytkowania
- Pobieranie - najnowsze wersje pluginu/moda
Co robi?
spark składa się z kilku komponentów, z których każdy opisano osobno poniżej.
⚡ Profiler CPU
Profiler sparka może być używany do diagnozowania problemów z wydajnością: lagów, niskiego tickrate'a, wysokiego użycia CPU itp.
Jest:
- Lekki - może działać na produkcji przy minimalnym wpływie na wydajność.
- Łatwy w użyciu - nie wymaga konfiguracji ani przygotowania, wystarczy zainstalować plugin/moda.
- Szybko daje wyniki - uruchomienie na około 30 sekund wystarczy, aby uzyskać przydatne informacje o problematycznych obszarach wydajności.
- Konfigurowalny - można go dostroić do konkretnych wątków, próbkowania w określonych odstępach czasu, rejestrowania tylko "lagujących" okresów itp.
- Bardzo czytelny - prosta struktura drzewiasta ułatwia analizę i interpretację. Przeglądarka może również zastosować mapowania deobfuskacji.
Działa poprzez próbkowanie danych statystycznych o aktywności serwera i tworzenie na ich podstawie grafu wywołań. Graf wywołań jest następnie wyświetlany w przeglądarce online do dalszej analizy przez użytkownika.
⚡ Inspekcja pamięci
spark zawiera kilka narzędzi przydatnych do diagnozowania problemów z pamięcią na serwerze.
Podsumowanie sterty - wykonaj i przeanalizuj podstawowy zrzut pamięci serwera
- Prosty widok sterty JVM, pokazujący użycie pamięci i liczbę instancji dla każdej klasy
- Nie jest przeznaczony jako pełny zamiennik profesjonalnych narzędzi do analizy pamięci (patrz poniżej)
Zrzut sterty - wykonaj pełny (HPROF) zrzut pamięci serwera
- Zrzuca (i opcjonalnie kompresuje) pełny obraz sterty JVM.
- Ten zrzut można następnie zbadać za pomocą konwencjonalnych narzędzi analitycznych.
Monitorowanie GC - monitoruj aktywność garbage collectora na serwerze
- Pozwala użytkownikowi powiązać aktywność GC z zawieszaniem się serwera gry i łatwo zobaczyć, jak długo trwają oraz ile pamięci jest zwalniane.
- Obserwuj częstotliwość/czas trwania zbiórek młodej/starej generacji, aby zdecydować, które flagi strojenia GC zastosować
⚡ Raportowanie stanu serwera
spark może raportować szereg metryk podsumowujących ogólny stan serwera.
Te metryki obejmują:
- TPS - ticki na sekundę, z dokładnością większą niż wskazuje komenda /tps
- Czasy trwania ticków - jak długo trwa każdy tick (min, max i średnia)
- Użycie CPU - ile CPU jest używane przez proces serwera i przez cały system
- Użycie pamięci - ile pamięci jest używane przez proces
- Użycie dysku - ile miejsca na dysku jest wolne/używane przez system
Oprócz podawania średnich tickrate'a, spark może również monitorować pojedyncze ticki - wysyłając raport, gdy czas trwania pojedynczego ticka przekroczy określony próg. Można to wykorzystać do identyfikacji trendów i charakteru problemów z wydajnością w odniesieniu do innych zdarzeń systemowych lub gry.
Użycie
Aby zainstalować, po prostu dodaj plik .jar do katalogu mods.
Informacje o używaniu komend można znaleźć w dokumentacji.
Poradniki
W dokumentacji dostępnych jest kilka krótkich "poradników" obejmujących następujące tematy.
- Pętla ticków
- Znajdowanie przyczyny skoków lagów