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

Game-Lag-Whitepaper › L9 Spielprozess auf dem Server

Anhäufung von Objekten (nicht aufgeräumte Items und Beschwörungen) Entity / timer buildup over uptime

Ursachen-ID sp-entity-buildup · Hauptzuständig Server-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Werden Items am Boden, Beschwörungen und abgelaufene Timer, die längst verschwunden sein sollten, nicht aufgeräumt, wächst die Arbeit pro Tick, je länger der Server läuft.

Warum Items am Boden, Beschwörungen, abgelaufene Timer und Daten leerer Gruppen werden nicht rechtzeitig gelöscht → Folge Die Listen, die jeder Tick durchläuft, werden täglich länger → Auf dem Bildschirm Direkt nach der Wartung läuft alles normal, nach einigen Tagen wird nur dieser Server oder dieses Gebiet zunehmend träge

Symptome
Zeitlupe, Ruckeln, Input-Lag
Faktoren
Stillstand
Wer ist betroffen
Ganzer Server, Bestimmter Ort oder Kanal
Wann
Je länger es läuft
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Objektzahl pro Gebiet als Metrik erfassen und den Trend beobachten, Lebensdauer und Obergrenzen für Objekte festlegen, regelmäßig aufräumen.
Größenordnungen
Durchläuft der Server in jedem Tick alle Objekte einmal, verdoppelt sich mit der Objektzahl auch dieser Anteil der Tick-Zeit.
Im Graphen
Steigt langsam, fällt abrupt · Objekte pro Zone, Server-Tick-Zeit
Wo nachsehen
Objektzahl pro Zone und Server (Items am Boden, Beschwörungen, Timer) und Tick-Zeit über einen Zeitraum betrachten, der länger als der Wartungszyklus ist (einige Wochen)
Spricht dafür
Objektzahl und Tick-Zeit starten nach der Wartung niedrig, steigen täglich und fallen bei Wartung oder Neustart abrupt ab, immer wieder, während der Arbeitsspeicher reichlich bleibt
Spricht dagegen
Tick unverändert, nur der Speicherverbrauch steigt stetig: eher Speicherleck
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Mehr dazu
Wie bei einem Speicherleck wird es schlimmer, je länger der Server läuft. Der Unterschied: Arbeitsspeicher ist reichlich frei, nur die Tick-Zeit steigt. Zeigt der Graph der Objektzahl ein Sägezahnmuster im Wartungsrhythmus, liegt dieser Fall vor.

Quellen

  1. Actor Ticking in Unreal Engine Epic Games
    Ohne eigenes Intervall tickt jeder Actor und jede Component einmal pro Frame, wird der Tick nicht gebraucht, lässt er sich abschalten
  2. AActor::SetLifeSpan Epic Games
    Hat ein Actor eine Lebensdauer, wird er nach deren Ablauf automatisch zerstört

Verwandte Ursachen

Gleiche Schicht: L9 Spielprozess auf dem Server

Ursachen aus anderen Schichten mit demselben Symptom (Zeitlupe)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen