한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › L7 Server-OS (Kernel)

Zeitgesteuerte Jobs Cron jobs (log rotation, backup, scans)

Ursachen-ID so-cron · Hauptzuständig Server-Infrastruktur (Infrastrukturteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Log-Komprimierung, Backups und Sicherheitsscans, die jeden Tag zur selben Zeit laufen, belegen CPU und Datenträger.

Warum OS-Jobs starten zu festen Zeiten → Folge Spielserver muss sich CPU und Datenträger mit ihnen teilen → Auf dem Bildschirm Ruckeln und Zeitlupe zu festen Uhrzeiten, etwa jeden Tag um 4 Uhr morgens

Symptome
Ruckeln, Zeitlupe
Faktoren
Stillstand
Wer ist betroffen
Ganzer Server
Wann
In festen Abständen
Zuständigkeit
Hauptzuständig Server-Infrastruktur (Infrastrukturteam)
Aufgaben Infrastrukturteam
Startzeiten der Jobs verteilen, Priorität senken (nice, ionice), vom Spielserver trennen (auf einem eigenen Server ausführen).
Im Graphen
Spitzen in festen Abständen · CPU-Auslastung, Disk-Warteschlange, Server-Tick-Zeit
Wo nachsehen
Startzeiten der Jobs aus crontab und systemctl list-timers sammeln, zum Zeitpunkt der Tick-Spitzen mit pidstat -u -d prüfen, welche Prozesse CPU und Datenträger belegen
Spricht dafür
Tick schlägt jeden Tag (oder jede Stunde) zur selben Zeit aus, und zu dieser Zeit belegen Job-Prozesse CPU und Datenträger
Spricht dagegen
Spitzen passen zu keiner festen täglichen Uhrzeit: diese Ursache scheidet aus. Spitzen alle paar Sekunden oder Minuten: „Stop-the-World-GC-Pause auf dem Server“, „Gleichzeitig auslösende Timer“
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)

Quellen

  1. ionice(1) — Linux manual page util-linux
    Jobs der Klasse idle erhalten nur dann I/O, wenn kein anderes Programm auf den Datenträger zugreift
  2. systemd.timer(5) — Linux manual page systemd
    RandomizedDelaySec verzögert Jobs um einen zufälligen Wert und verringert so Lastspitzen
  3. systemctl(1) — Linux manual page systemd
    list-timers: zeigt Timer-Units sortiert nach der nächsten Ausführung
  4. pidstat(1) — Linux manual page sysstat
    -u zeigt CPU, -d Disk-I/O pro Prozess

Verwandte Ursachen

Gleiche Schicht: L7 Server-OS (Kernel)

Ursachen aus anderen Schichten mit demselben Symptom (Ruckeln)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen