// VPS

vServer langsam oder Lags? So findest du die Ursache

vServer langsam oder Lags? So findest du die Ursache

Ist dein vServer langsam, schau zuerst, was genau langsam ist, und geh danach vier Stellen durch: die CPU (Load, ein Kern auf 100 % oder Steal Time), den Arbeitsspeicher (voll, Swap oder der OOM-Killer), die Festplatte (iowait) und das Netzwerk (Ping und Paketverlust). Mit top, free, iostat und mtr weißt du in zehn Minuten, welche der vier bremst.

Installiere die Werkzeuge vorher, dann hast du sie zur Hand, wenn es schiefgeht:

sudo apt install htop sysstat mtr-tiny

Willst du Grafiken über einen längeren Zeitraum, zeigt dir Netdata sekundengenau, was dein VPS macht. Für einen schnellen Blick reicht auch htop, wie in die Auslastung deines VPS ansehen.

vServer langsam? Bestimme zuerst, was genau langsam ist

„Langsam“ kann drei ganz verschiedene Dinge bedeuten, und jedes weist woandershin:

  • Lag in einem Spiel: Spieler springen an eine frühere Stelle zurück, abgebaute Blöcke tauchen wieder auf, Fahrzeuge ruckeln. Meist schafft der Server seine Ticks nicht (CPU) oder die Verbindung verliert Pakete (Netzwerk).
  • Eine langsame SSH-Sitzung: Buchstaben erscheinen verzögert. Das deutet auf das Netzwerk hin oder auf einen VPS, der so ausgelastet ist, dass selbst deine Shell warten muss.
  • Eine langsame Website: oft die Datenbank oder die Festplatte, manchmal der Arbeitsspeicher.

Achte auch auf das Muster. Ist es immer langsam, nur abends, wenn alle online sind, oder immer um dieselbe Uhrzeit? Eine feste Uhrzeit deutet oft auf eine geplante Aufgabe hin, etwa dein eigenes Backup-Script oder einen Cronjob. Und beschwert sich ein Spieler oder beschweren sich alle? Ist es ein Spieler, liegt es meist an seiner eigenen Verbindung.

Vier Spalten, um herauszufinden, warum ein vServer langsam ist: CPU mit top, Arbeitsspeicher mit free und vmstat, Festplatte mit iostat und Netzwerk mit ping und mtr
vServer langsam? Mit diesen Befehlen siehst du in zehn Minuten, ob CPU, Arbeitsspeicher, Festplatte oder Netzwerk bremsen.

CPU: Load, ein Kern auf 100 % und Steal Time

Fang mit zwei Zahlen an:

nproc
uptime

nproc gibt deine Zahl an vCores aus, uptime die Load Average über 1, 5 und 15 Minuten. Liegt die Load längere Zeit über der Zahl deiner vCores, steht Arbeit in der Warteschlange. Linux zählt dabei auch Prozesse mit, die auf die Festplatte warten, schau also danach in top, was los ist. Drück in top die 1, um jeden vCore einzeln zu sehen. Du siehst dann meist eines von drei Mustern:

  • Alle Kerne voll, mit hohen Werten bei us und sy: Du hast zu wenig Rechenleistung, oder ein Prozess läuft Amok. Schau in htop, welcher Prozess oben steht.
  • Ein Kern auf 100 %, der Rest ruhig: das klassische Gameserver-Problem. Der Hauptthread von Minecraft, FiveM oder Valheim stößt an seine Decke. Mehr vCores helfen dann nicht, ein schnellerer Kern schon. Warum, liest du in Was ist ein vCore? und Ryzen oder EPYC für deinen Gameserver?
  • Ein hoher st-Wert: Steal Time, die Zeit, in der der Hypervisor deinen vCore warten ließ, weil der physische Kern anderswo arbeitete. Ein paar Prozent ab und zu sind bei geteilten vCores normal. Bleibt st längere Zeit deutlich hoch, während dein Server langsam ist, speichere die Ausgabe von vmstat 1 30 und schick sie in einem Ticket mit; unser Support denkt mit.

Arbeitsspeicher: voll, Swap oder der OOM-Killer

free -h

Schau auf die Spalte available, nicht auf free. Linux nutzt ungenutzten Speicher als Cache (buff/cache) und gibt ihn zurück, sobald ein Programm ihn braucht, ein niedriger free-Wert ist also normal. Steht available fast auf null, bist du wirklich voll. Zwei Signale bestätigen das:

  • Swapping: In vmstat 1 stehen die Spalten si und so ständig über null. Dein VPS schiebt Speicher auf die Festplatte und zurück, und das spürst du überall.
  • Der OOM-Killer: Der Kernel beendet einen Prozess, wenn der Speicher aus ist. Dein Gameserver scheint dann ohne Fehlermeldung abzustürzen. Prüfe das mit sudo dmesg -T | grep -i -E 'out of memory|killed process'.

Ein häufiger Fehler bei Java-Servern: -Xmx auf den gesamten Arbeitsspeicher des VPS setzen. Java braucht mehr als nur den Heap, und das Betriebssystem will auch Platz, lass also mindestens 1 GB frei. Betreibst du Minecraft mit Mods auf weniger als 8 GB, ist mehr Arbeitsspeicher hier schlicht die Lösung.

Festplatte: iowait und geplante Aufgaben

In top steht wa für die Zeit, in der die CPU wartet, bis die Festplatte fertig ist. Ist der Wert regelmäßig hoch, schau pro Festplatte nach:

iostat -x 1

Achte auf r_await und w_await: die durchschnittliche Zeit in Millisekunden, die ein Lese- oder Schreibauftrag dauert, inklusive der Wartezeit in der Warteschlange. Auf NVMe sollten die niedrig sein; steigen sie stark an, hält ein Prozess die Festplatte beschäftigt. Die Spalte %util sagt bei NVMe wenig: Laut der Anleitung von iostat zeigt sie bei Geräten, die Aufträge parallel abarbeiten, deren Grenze nicht. Welcher Prozess die Festplatte nutzt, siehst du mit sudo iotop (Paket iotop).

Bekannte Verursacher sind dein eigenes Backup-Script oder ein Cronjob, der einen ganzen Weltordner packt, eine Logdatei, die ungebremst wächst, und eine Datenbank-Query ohne Index. Prüfe auch mit df -h, ob die Festplatte nicht voll ist: Eine volle Festplatte sorgt für seltsame Fehler und Hänger, lange bevor du merkst, warum.

Netzwerk: Ping, mtr und Paketverlust

Miss von deinem eigenen Computer zum VPS:

ping -c 20 deine-ip
mtr -rwc 100 deine-ip

Unter Windows nutzt du ping -n 20 deine-ip; für mtr gibt es dort WinMTR. mtr schickt 100 Runden von je einer Sekunde und zeigt pro Zwischenstation den Verlust und die Verzögerung. Lies es so: Verlust bei einer Zwischenstation, der nicht bis zur letzten Zeile durchgeht, kommt meist von einem Router, der Pings niedrige Priorität gibt, und ist harmlos. Verlust, der bis einschließlich deines VPS durchgeht, ist echt. Beschwert sich ein Spieler, miss auch vom VPS zu seiner IP-Adresse.

Ruckeln alle Spieler gleichzeitig, schau zuerst auf status.mc-node.net, ob mit den Nodes etwas los ist. Alle VPS stehen in Hengelo; wie die Entfernung zu deinen Spielern den Ping bestimmt, liest du in Serverstandort und Ping.

Gameserver-spezifisch: TPS, MSPT und Hitches

Ein Gameserver misst seine eigene Gesundheit, und diese Zahlen sind oft deutlicher als top. Ein Minecraft-Server will 20 Ticks pro Sekunde schaffen, also höchstens 50 ms pro Tick (MSPT). Steigt die MSPT, während ein Kern auf 100 % steht, ist es die CPU. Sind TPS und MSPT gut, aber alle laggen, liegt es eher am Netzwerk. Pro Spiel:

Wann ein Upgrade hilft (und wann nicht)

Ein größeres Paket löst nur den Engpass, den du gefunden hast:

Was du siehstEngpassWas hilft
available fast null, Swap oder OOM-MeldungenArbeitsspeicherein größeres Paket innerhalb deiner Linie
ein Kern auf 100 %, hohe MSPTTempo pro Kernvom KVM-VPS zum Premium-VPS, oder schwere Plugins und Scripts angehen
alle Kerne vollRechenleistungmehr vCores oder die Last verteilen
dauerhaft hoher st-Wertgeteilte KerneTicket mit vmstat-Ausgabe oder ein VDS mit festen Kernen
hoher wa- und await-WertFestplattennutzungdie Aufgabe finden und verlegen; ein Upgrade hilft selten
Paketverlust bis zum letzten HopNetzwerkStatusseite prüfen, mtr mitschicken; ein Upgrade hilft nicht

Innerhalb deiner Linie wechselst du im Kundenbereich auf ein größeres Paket und zahlst die Differenz für den Rest deines Zeitraums. Ist dein Engpass das Tempo pro Kern, ist der Premium-VPS mit Ryzen 9 der logische Schritt: ein AMD Ryzen 9 9950X* mit DDR5, bis 5,7 GHz gegenüber bis 4,0 GHz beim EPYC 7443P des KVM-VPS. Ist es Steal Time, schau dir einen VDS mit festen Kernen an. Ein Wechsel zwischen Linien geht nicht mit einem Klick: Rechne mit einem neuen VPS und einem Umzug. Bist du unsicher, welche Linie passt, lies Welchen VPS wählen?

* oder AMD Ryzen 9 7950X3D, je nach Node.

Häufige Fragen

Warum ist mein vServer langsam?

Meist wegen eines von vier Engpässen: der CPU (ein Kern auf 100 % oder Steal Time), dem Arbeitsspeicher (voll oder Swapping), der Festplatte (viel iowait durch einen Prozess oder eine volle Festplatte) oder dem Netzwerk (Paketverlust). Mit top, free -h, iostat -x 1 und mtr siehst du in zehn Minuten, welcher es ist. Ein Gameserver mit Lag hat oft einen CPU-Engpass im Hauptthread.

Was ist Steal Time, und ist das schlimm?

Steal Time (st in top) ist die Zeit, in der dein vCore rechnen wollte, der Hypervisor den physischen Kern aber einem anderen VPS gab. Ein paar Prozent ab und zu sind bei geteilten vCores normal. Bleibt sie längere Zeit hoch, während dein Server langsam ist, schick die Ausgabe von vmstat 1 30 in einem Ticket mit oder wähle einen VDS mit festen Kernen.

Hilft mehr RAM gegen Lag?

Nur wenn der Arbeitsspeicher wirklich voll ist: available in free -h steht fast auf null, dein VPS swappt oder der OOM-Killer beendet Prozesse. Lag durch einen Hauptthread, der auf einem Kern festhängt, löst du mit mehr RAM nicht; dann hilft ein schnellerer Kern oder weniger schwere Plugins und Scripts.

Wie sehe ich, ob es eine Störung gibt?

Schau auf status.mc-node.net; dort steht der Live-Status der Nodes. Ist dort nichts zu sehen und hakt nur dein Server, such die Ursache mit top, free, iostat und mtr. Schick die Ausgabe von mtr von deinem eigenen Computer mit, wenn du ein Ticket eröffnest.

Weiterlesen

// SELBST AUSPROBIEREN
Dein Minecraft-Server in 60 Sekunden online
Pakete ansehen →