Wird zur Lastsenkung nur alle paar Minuten gespeichert, geht der Fortschritt verloren, wenn der Server dazwischen abstürzt.
Warum Charakterzustand wird nur alle paar Minuten gespeichert → Folge Dazwischen Serverabsturz oder Störung → Auf dem Bildschirm Nach dem Reconnect Stand von vor einigen Minuten (Rollback)
Prüfen, ob die DB genug IOPS- und CPU-Reserven für die zusätzlichen Schreibvorgänge bei kürzeren Speicherintervallen hat.
Im Graphen
Verbindungen brechen gleichzeitig ab · Anzahl der Verbindungen, Rollback-Meldungen
Wo nachsehen
Zeitpunkt von Absturz oder Störung neben den letzten Speicherzeitpunkt der Charaktere legen, für die ein Rollback gemeldet wurde (Speicherlog des Spielservers oder Spalte mit dem Änderungszeitpunkt in der DB)
Spricht dafür
Der zurückgesetzte Stand entspricht dem letzten Speicherzeitpunkt vor dem Absturz, die verlorene Zeit ist kürzer als das Speicherintervall
Spricht dagegen
Laut Spielserver-Log wurde das Speichern abgeschlossen, trotzdem zurückgesetzt: Datenverlust beim DB-Failover (db-failover) oder alter Wert aus dem Replikat (db-replica-lag)
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Quellen
Asynchronous Commit (PostgreSQL Documentation)PostgreSQL Werden Schreibvorgänge gesammelt und verzögert auf den Datenträger geschrieben, steigt der Durchsatz, bei einem Ausfall können aber die jüngsten Transaktionen verloren gehen (derselbe Zielkonflikt)
Redis persistenceRedis Bei RDB-Snapshots alle paar Minuten muss man bei einem unerwarteten Beenden mit dem Verlust der Daten der letzten Minuten rechnen