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
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
Actor Ticking in Unreal EngineEpic Games Ohne eigenes Intervall tickt jeder Actor und jede Component einmal pro Frame, wird der Tick nicht gebraucht, lässt er sich abschalten
AActor::SetLifeSpanEpic Games Hat ein Actor eine Lebensdauer, wird er nach deren Ablauf automatisch zerstört