Lags bei einem vServer
Inhaltsverzeichnis
Was sind Lags?
Sogenannte Lags können sehr unterschiedlich definiert werden. Bekannt ist dieser Begriff aus dem Bereich des Gameserverbetriebs. Dort wird ein Lag damit definiert das Datenpakete verloren gehen oder stark zeitversetzt das Ziel erreichen. Die Ursachen hierfür können sehr weitreichend sein. Die häufigsten Fehler sind:
- Das Zielsystem ist überlastet und kann die Daten nicht mit ausreichender Geschwindigkeit verarbeiten
- Es besteht ein Routingproblem zwischen Quelle und Ziel der Pakete
Systemprüfungen
Es ist sehr wichtig sein System weitreichend zu überprüfen, auch bzw. vor allem zu unterschiedlichen Zeiten und über längere Zeiträume (je mindestens 30 Minuten) um Fehler und Ressourcen-Last-Spitzen ausfindig machen zu können. Ein Test zu einem beliebigen Zeitpunkt über einen Zeitraum von 2-3 Minuten ist nicht aussagekräftig und reicht für spezifische Analysen nicht aus.
System Überprüfung mit top, htop und atop
Bei einem vServer können Sie beide Fälle selbst prüfen. Verwenden Sie zur Kontrolle des vServers bekannte Tools wie top, htop oder atop. Dort können Sie die CPU Last des vServers (load), die RAM sowie SWAP Werte und weitere Systemdaten auslesen.
Routing Überprüfung mit Traceroute
Das Routing ist der "Weg" der Datenpakete zwischen Quelle und Ziel, also zwischen "Ihrem PC" und dem vServer im Rechenzentrum. Dieses Routing ist variabel und hängt von Ihrem Provider des Internetanschlusses ab. Weitere Informationen zu dem Thema Routing und wie Sie dieses überprüfen können, finden Sie auf der Wikiseite Traceroute.
RAM Auslastung prüfen
Ebenfalls dienlich ist der Befehl "free -m" welcher Ihnen den reinen RAM und SWAP Status ausgibt. Sollte der RAM des vServers vollaufen und das System swappen während parallel Prozesse auf Ihrem vServer laufen die hohe Festplattenzugriffe erzeugen (IO), so kann es passieren das der vServer langsam reagiert und "zu hängen scheint".
Beispiele
Minecraft
Sehr bekannt für diese Problematik ist das Tool "Minecraft", ein Gameserver basierend auf Java der sich in der Entwicklungsphase befindet und extreme Systemauslastungen verursachen kann. Dies geschieht, entsprechend auf Kundenaussagen und Erfahrungen, vor allem bei Fehlern in einer "Map" was man im Spiel selbst nicht direkt bemerkt, sich jedoch anhand des steigenden Ressourcenverbrauchs des Minecraftprozesses zeigt. Da es bei dem Spiel Minecraft viele Server-Erweiterungen und unterschiedliche Angebote für den Betrieb eines Servers gibt, sind sehr individuelle Fehler möglich. Bei gleicher Konfiguration zweier Server kann einer problemlos laufen während bei dem anderen das oben genannte "Map-Problem" auftritt.
Source-Engine Spiele
Sehr beliebt sind Spiele bzw. Gameserver auf Basis der Source-Engine, z.B. Counter-Strike Source, Halfe-life 2, Team Fortress und viele weitere. Hier zeigen sich Lags im Spiel darin dass das Spielgeschehen "stockt". Die Source-Engine bietet hierzu bereits eigene Hausmittel um innerhalb des Spiels "das Netzwerk" und den Datenfluss zu überprüfen. Für eine erste Analyse ist dies bereits sehr hilfreich.
Um dieses Feature zu verwenden rufen Sie in Ihrem Steam-Client die Eigenschaften des entsprechenden Spiels auf, wählen Sie dort "Start-Optionen festlegen" und tragen Sie in das Eingabefeld "-console" ein. Dies aktiviert eine Kommandozeile innerhalb des Spiel-Hautpmenüs. Starten Sie anschließend das Spiel.

Im Spiel selbst können Sie nun die Kommandozeile verwenden um spezielle Einstellungen zu setzen die nicht per grafischem Menu verfügbar sind. Für die Netzwerkanalyse ist dies die Option "net_graph".
Die Option net_graph bietet die Einstellungsparameter 0, 1, 2, 3 sowie 4. Der Wert bestimmt die angezeigten Details. Nutzen Sie hier die Angabe 3 oder 4.
net_graph 3
Weiterhin können Sie die Position der Anzeige auf dem Bildschirm variieren.
net_graphpos 0/1/2 (links, mitte oder rechts) net_graphheight XXX (Angabe in Pixeln)

Die Anzeige im Spiel zeigt Ihnen dann verschiedene Werte und Daten an. Die wichtigen Werte sind in, out, loss sowie choke. Informationen zu diesen Werte erhalten Sie im Hersteller Wiki der Steam Software. Herstellerwiki net_graph Eintrag
