• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Probleme mit TPS und Java Flags

Minecraft Version
Java

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Hey liebe Community.
Wie schon in der Überschrift erwähnt, haben wir auf unserem Server extrem Probleme mit der TPS. Ich bekomme sie zwar Tag für Tag mehr unter Kontrolle, doch langsam gehen mit als Dev die Ideen aus. Deswegen bitte ich euch um Rat.

Zudem habe ich die Java Flags von Aikar probiert, diese haben aber große "Hänger" in gleichmäßigen Abständen verursacht. Deswegen musste ich sie wieder entfernen. Mit den Flags wurde die TPS verbessert.

Durchschnittliche TPS: 15 -17.
Bis 10 Spieler konstant 20, darüber schwächt sie immer mehr ab. Hier mal ein Timings Report:
https://timings.aikar.co/?id=2e4b416be7ea458c864559b0157e771c
Ab ca. 20 Spielern droppt sie auf 13.

Unsere Plugins:
Claimchunk
Color_Signs_Text
EditServerMessage
EntityTrackerFixer
Essentials-X
LimitPillager
LockettePro
Luckperms
SAML
ServerPlugin (Selbst programmiert)
Villager-Optimiser
worldedit
worldguard

MC-Version: 1.16.4
Serversoftware: PaperMC

Ich füge ein paar Dateien im Anhang hinzu, wenn ich mehr Infos braucht fragt einfach :)
 

Anhänge

  • spigot.yml
    4,3 KB · Aufrufe: 306
  • paper.yml
    6,6 KB · Aufrufe: 292
  • bukkit.yml
    1,1 KB · Aufrufe: 276
Zuletzt bearbeitet:

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Praktisch wären Timings (oder noch besser Daten von einem Profiler wie zum Beispiel Spark) von den Lags, wenn die Flags von Aikar verwendet werden. Generell wäre die Nutzung des Arbeitsspeichers interessant, denn "große Hänger" klingt für mich nach Old Gen GC. Das ist aber erst mal nur spekuliert, anhand dieser Daten lässt sich zu wenig über die tatsächliche Ursache sagen. Außerdem wären Informationen zur Hardware interessant, das könnte in dem Fall auch durchaus entscheidend sein.

PS: wenn ich das richtig sehe, hat der Server aktuell 15GB zur Verfügung, das gesamte System hat aber kaum mehr. Je nachdem, was darauf sonst noch läuft, sind 15GB vielleicht auch zu viel.
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Praktisch wären Timings (oder noch besser Daten von einem Profiler wie zum Beispiel Spark) von den Lags, wenn die Flags von Aikar verwendet werden. Generell wäre die Nutzung des Arbeitsspeichers interessant, denn "große Hänger" klingt für mich nach Old Gen GC. Das ist aber erst mal nur spekuliert, anhand dieser Daten lässt sich zu wenig über die tatsächliche Ursache sagen. Außerdem wären Informationen zur Hardware interessant, das könnte in dem Fall auch durchaus entscheidend sein.

PS: wenn ich das richtig sehe, hat der Server aktuell 15GB zur Verfügung, das gesamte System hat aber kaum mehr. Je nachdem, was darauf sonst noch läuft, sind 15GB vielleicht auch zu viel.

Wir hosten bei Host-Unlimeted und haben da einen V-Server(LXC) dieser hat ca. 16gb Ram (16384MB). Wir haben 4 Kerne/Threads.

Ich reproduziere die Laggs gleich und messe die mit Spark, ich melde mich dann wieder hier
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Praktisch wären Timings (oder noch besser Daten von einem Profiler wie zum Beispiel Spark) von den Lags, wenn die Flags von Aikar verwendet werden. Generell wäre die Nutzung des Arbeitsspeichers interessant, denn "große Hänger" klingt für mich nach Old Gen GC. Das ist aber erst mal nur spekuliert, anhand dieser Daten lässt sich zu wenig über die tatsächliche Ursache sagen. Außerdem wären Informationen zur Hardware interessant, das könnte in dem Fall auch durchaus entscheidend sein.

PS: wenn ich das richtig sehe, hat der Server aktuell 15GB zur Verfügung, das gesamte System hat aber kaum mehr. Je nachdem, was darauf sonst noch läuft, sind 15GB vielleicht auch zu viel.
So ich melde mich nochmal, ich habe versucht die Laggs bzw "Hänger" zu reproduzieren. Leider crasht dabei jedesmal der Server, wodurch ich keine Profiler Daten gewinnen konnte. Das einzige was ich habe ist ein kurzer Test Profiler (Der aber nicht mit Aikar Flags zusammen hängt): https://spark.lucko.me/#lbPEat20TG

Hier mal die Aikar Flags: https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Der Timings-Link den du oben gepostet hast ist leider ungültig. Hast du vielleicht ein Zeichen am Ende vergessen zu kopieren oder sowas? Ansonsten einfach nochmal einen neuen machen.

Wenn dein System insgesamt nur 16 GB RAM hat, sind 15 GB für den Server zu viel. Insbesondere mit Aikars Flags, wo dann ja sinnvollerweise der ganze RAM direkt am Anfang belegt wird, bleibt dann zu wenig Arbeitsspeicher für das System und sonstige Prozesse übrig. Das führt dann auch zu den von dir beschriebenen Hängern.

Ich würde dem Minecraft-Server einfach erstmal 12 GB zuweisen - das reicht eigentlich für fast alle Server auch bei hohen Spielerzahlen noch vollkommen aus. Wenn das gut geht kannst du natürlich auch 13 GB oder 14 zuweisen, mehr aber auf keinen Fall. 2 GB sollten System & sonstige Prozesse auf jeden Fall haben.
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Hast du vielleicht ein Zeichen am Ende vergessen zu kopieren oder sowas?
Da fehlt das Fragezeichen vor id, hätte ich vorhin schon erwähnen sollen :D
Leider crasht dabei jedesmal der Server
Wenn der Server crasht, gibts einen Crashreport - der könnte Aufschluss geben. Generell wärs aber definitiv auch sinnvoll, die Tipps von @Malfrador zu befolgen. Ich könnte mir aber auch durchaus vorstellen, dass das System einfach generell zu schwach ist, da müsstest du vielleicht auch mal die Systemauslastung generell beobachten.
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Der Timings-Link den du oben gepostet hast ist leider ungültig. Hast du vielleicht ein Zeichen am Ende vergessen zu kopieren oder sowas? Ansonsten einfach nochmal einen neuen machen.

Wenn dein System insgesamt nur 16 GB RAM hat, sind 15 GB für den Server zu viel. Insbesondere mit Aikars Flags, wo dann ja sinnvollerweise der ganze RAM direkt am Anfang belegt wird, bleibt dann zu wenig Arbeitsspeicher für das System und sonstige Prozesse übrig. Das führt dann auch zu den von dir beschriebenen Hängern.

Ich würde dem Minecraft-Server einfach erstmal 12 GB zuweisen - das reicht eigentlich für fast alle Server auch bei hohen Spielerzahlen noch vollkommen aus. Wenn das gut geht kannst du natürlich auch 13 GB oder 14 zuweisen, mehr aber auf keinen Fall. 2 GB sollten System & sonstige Prozesse auf jeden Fall haben.
Hier nochmal der Link: https://timings.aikar.co/?id=2e4b416be7ea458c864559b0157e771c
hatte tatsächlich das ? vergessen
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Der Timings-Link den du oben gepostet hast ist leider ungültig. Hast du vielleicht ein Zeichen am Ende vergessen zu kopieren oder sowas? Ansonsten einfach nochmal einen neuen machen.

Wenn dein System insgesamt nur 16 GB RAM hat, sind 15 GB für den Server zu viel. Insbesondere mit Aikars Flags, wo dann ja sinnvollerweise der ganze RAM direkt am Anfang belegt wird, bleibt dann zu wenig Arbeitsspeicher für das System und sonstige Prozesse übrig. Das führt dann auch zu den von dir beschriebenen Hängern.

Ich würde dem Minecraft-Server einfach erstmal 12 GB zuweisen - das reicht eigentlich für fast alle Server auch bei hohen Spielerzahlen noch vollkommen aus. Wenn das gut geht kannst du natürlich auch 13 GB oder 14 zuweisen, mehr aber auf keinen Fall. 2 GB sollten System & sonstige Prozesse auf jeden Fall haben.
Habe jetzt mal mit 12 GB gestartet und es läuft bis jetzt stabil. Wobei auch gerade nur 6 Spieler auf dem Server sind. Morgen melde ich mich nochmal.

Danke erstmal :)
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
So ich melde mich nochmal :) Die Nacht über lief der Server stabil, wahrscheinlich lag es tatsächlich an den 15gb. Aber jetzt kommen wieder die TPS Probleme, zwar läuft er die meiste Zeit gut mit 19 -20. Aber es gibt immer wieder Drops auf 9 -13. Meistens nur kurz, aber ich konnte tatsächlich einen sehr langen beobachten. Hier ein paar Timings und Profiler:
Profiler von 1:01 - 10:00 : https://spark.lucko.me/#RAsPKELHFP
Profiler von 10:27 - 10:00: https://spark.lucko.me/#lkBHyW2sLQ
Timings: https://timings.aikar.co/?id=24631d467e16483280199276f0f8f68f

Da auch nicht wirklich viele Spieler auf dem Server gerade spielen und sonst bei /tps die CPU Auslastung vom Prozess nicht 100% ist, kann ich mir diese Drops leider nicht erklären :/

Nachtrag: Hier sieht man sie noch mal sehr gut: https://timings.aikar.co/?id=502b3d968566486b8a554b770254f5af
 
Zuletzt bearbeitet:

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Das ist jetzt leider der Bereich, bei dem es nicht mehr so einfach ist, eine Ursache zu finden. Einen direkten Grund sehe ich jetzt weder in den Timings noch bei Spark.
Ein paar Dinge sind mir allerdings aufgefallen. Vielleicht lösen sie nicht die Spikes aus, helfen tun sie aber auch nicht gerade.
  • Lass Spark nicht so lange laufen (von 1 Uhr bis 10 Uhr). Das ist wirklich nur für kurze Zeiträume gedacht (-> 10 Minuten) und drückt auch die TPS teilweise merklich nach unten, während es läuft. Ich würde wetten das der ständige TPS-Loss vor dem ersten Spike (immer 10-15%) nur davon kommt.
  • EntityTrackerFixer ist mit Paper nicht notwendig. Paper tut alles, was ETF tut, aber effizienter weil direkt in der Serversoftware. Wenn man dann auch noch ETF hat, muss der Server doppelt so viel arbeiten - nicht gut.
  • Dafür das SimpleAntiMobLag eigentlich Lags reduzieren sollte, braucht es ganz schön lange dafür. Der Freeze-Task braucht länger als einen Tick - das ist nicht wirklich gut. Ich würde das Plugin auch einfach testweise mal entfernen.
  • Irgendein Plugin lädt synchron Chunks im Nether. Leider lässt sich so einfach nicht herausfinden, welches - ich würde aber auf irgendwas in Richtung Teleport tippen. Diese synchronen Chunk-Loads treten genau zu den Spikes auf, vielleicht besteht da ein Zusammenhang.
    Du kannst den Server mit dem Flag -Dpaper.debug-sync-loads=true starten und dann /paper syncloadinfo nutzen. Das erstellt einen Bericht der Chunkloads. Das ganze benötigt aber recht viel Leistung (deswegen ist es hinter einem Flag versteckt), dementsprechend würde ich erst alles andere ausprobieren.
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Das ist jetzt leider der Bereich, bei dem es nicht mehr so einfach ist, eine Ursache zu finden. Einen direkten Grund sehe ich jetzt weder in den Timings noch bei Spark.
Ein paar Dinge sind mir allerdings aufgefallen. Vielleicht lösen sie nicht die Spikes aus, helfen tun sie aber auch nicht gerade.
  • Lass Spark nicht so lange laufen (von 1 Uhr bis 10 Uhr). Das ist wirklich nur für kurze Zeiträume gedacht (-> 10 Minuten) und drückt auch die TPS teilweise merklich nach unten, während es läuft. Ich würde wetten das der ständige TPS-Loss vor dem ersten Spike (immer 10-15%) nur davon kommt.
  • EntityTrackerFixer ist mit Paper nicht notwendig. Paper tut alles, was ETF tut, aber effizienter weil direkt in der Serversoftware. Wenn man dann auch noch ETF hat, muss der Server doppelt so viel arbeiten - nicht gut.
  • Dafür das SimpleAntiMobLag eigentlich Lags reduzieren sollte, braucht es ganz schön lange dafür. Der Freeze-Task braucht länger als einen Tick - das ist nicht wirklich gut. Ich würde das Plugin auch einfach testweise mal entfernen.
  • Irgendein Plugin lädt synchron Chunks im Nether. Leider lässt sich so einfach nicht herausfinden, welches - ich würde aber auf irgendwas in Richtung Teleport tippen. Diese synchronen Chunk-Loads treten genau zu den Spikes auf, vielleicht besteht da ein Zusammenhang.
    Du kannst den Server mit dem Flag -Dpaper.debug-sync-loads=true starten und dann /paper syncloadinfo nutzen. Das erstellt einen Bericht der Chunkloads. Das ganze benötigt aber recht viel Leistung (deswegen ist es hinter einem Flag versteckt), dementsprechend würde ich erst alles andere ausprobieren.

-habe ETF jetzt runtergenommen.
Bei SAML lasse ich keine Mobs freezen sondern nur nerfen. Damit die Mobfarmen etc. noch funktionieren. Leider kann (darf) ich den Server derzeit nicht neustarten, da wir ein Event hatten und somit extrem viele Spieler on sind. Leider liegt die TPS auch unter 10 :/ Aber anscheinend ist es den Spielern gerade egal.

Ich werde definitiv morgen bzw heute Nacht mit Paper auslösen was synchron Chunks im Nether lädt. Aber kann Paper/Spigot nicht nur synchron Chunks laden?
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Ich werde definitiv morgen bzw heute Nacht mit Paper auslösen was synchron Chunks im Nether lädt. Aber kann Paper/Spigot nicht nur synchron Chunks laden?

Eine der Hauptverbesserung bezüglich Performance von Paper gegenüber Spigot ist, das sämtliches Chunk-Loading und Chunk-Generation asynchron stattfindet. Also nein. Wenn ein Plugin allerdings bestimmte Methoden nutzt, um einen Chunk abzufragen, wird dieser trotzdem synchron geladen, was dann natürlich nicht optimal ist.
Alleine sollte das aber nicht zu so lags führen können, da muss noch irgendwas anderes falsch sein - ich weiß allerdings nicht was.

Bezüglich SAML: Mir ging's nicht darum was das Plugin tut, sondern darum daß es tatsächlich sehr lange dafür braucht. Zwei Ticks für einen relativ oft laufenden Task ist nicht super gut.
 

Goldmensch

Minecrafter
Registriert
22 Mai 2019
Beiträge
8
Diamanten
220
Eine der Hauptverbesserung bezüglich Performance von Paper gegenüber Spigot ist, das sämtliches Chunk-Loading und Chunk-Generation asynchron stattfindet. Also nein. Wenn ein Plugin allerdings bestimmte Methoden nutzt, um einen Chunk abzufragen, wird dieser trotzdem synchron geladen, was dann natürlich nicht optimal ist.
Alleine sollte das aber nicht zu so lags führen können, da muss noch irgendwas anderes falsch sein - ich weiß allerdings nicht was.

Bezüglich SAML: Mir ging's nicht darum was das Plugin tut, sondern darum daß es tatsächlich sehr lange dafür braucht. Zwei Ticks für einen relativ oft laufenden Task ist nicht super gut.

Ich habe mal SAML runter genommen. Aber eigentlich keine Verbesserung gemessen, eher eine Verschlechterung. :(
Hier sind nochmal paar Timings:
Spark: https://spark.lucko.me/#mJt1SEcEQx
Aikar: https://timings.aikar.co/?id=127b3d97b9b6464a8ced210635c0b47b
SyncChunkInfo: (Anhang)

Leider habe ich langsam keine Idee mehr ich denke das unsere CPU zu schwach ist, wobei das immer noch nicht die Lagg Peaks erklären würde.
CPU: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz
 

Anhänge

  • sync-load-info2020-11-30_16.57.11.txt
    112,7 KB · Aufrufe: 356

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
In den SyncLoads sehe ich nichts auffälliges und die Timings zeigen auch nicht mehr wirklich etwas eindeutiges mehr.

Das mit dem Prozessor kann sehr gut sein. Der ist schon so nicht gerade stark, insbesondere nicht in der Single-Core-Leistung, die für Minecraft wichtig ist. Dazu läuft dein System dann noch in einer VM (Proxmox anscheinend, der Linux-Version zufolge) - das wird der Performance nicht zuträglich sein.
Es mag vielleicht Sinn machen, den Hoster zu wechseln & damit bessere Hardware zu bekommen.
 
Zuletzt bearbeitet:
Oben