Verfügbare Metriken - Amazon GameLift Servers

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verfügbare Metriken

Metriken lassen sich in drei Kategorien einteilen:

  • Automatisch gesammelte Metriken

  • Vom SDK bereitgestellte Metriken

  • Benutzerdefinierte Metriken

Automatische Erfassung von Metriken

Für diese Metriken sind keine Codeänderungen erforderlich:

Instance-Metriken

Metrik: Typ Description Anwendungsfall
CPU Prozentuale Auslastung pro Instanz Ressourcenüberwachung
Arbeitsspeicher Physischer Speicherverbrauch und Prozentsatz Kapazitätsplanung
Netzwerk-I/O Gesendete/empfangene Bytes und Pakete Zustand der Verbindung
Festplatten-IO Lese-/Schreibvorgänge und Durchsatz Speicherleistung

Flottenmetriken

Metrik: Typ Description Anwendungsfall
Aktive Instanzen Anzahl laufender Instanzen Skalierung der Flotte
Spielsitzungen Aktive und verfügbare Sitzungen Kapazitätsverwaltung
Abgestürzte Spielsitzungen Spielsitzungen, die abgestürzt sind Fehlerüberwachung

Vom SDK bereitgestellte Metriken

Erfordert SDK-Funktionsaufrufe in Ihrem Code:

Metriken zur Serverzeit

Metrik Description Implementierung
Server-Delta-Zeit Zeitunterschied zwischen dem aktuellen Server-Tick und dem vorherigen Server-Tick. Misst die Konsistenz der Tick-Rate des Servers Rufen Sie an GetDeltaTime ()
Server-Tick-Rate Zeigt an, wie oft der Server pro Sekunde Updates verarbeitet Automatisch berechnet
Server-Tick-Zeit Die Zeit, die der Server benötigt, um einen einzelnen Tick oder ein Update zu verarbeiten Rufen Sie an GetTickTime ()
Die Zeit der Serverwelt ist abgelaufen Die Zeit, die der Server benötigt, um die Spielwelt mit jedem Tick zu aktualisieren Rufen Sie an GetWorldUpdateTime ()

Implementierung: Für Engine-unabhängige Anwendungen SDKs (C++, C#, Go) implementieren Sie diese Metriken, indem Sie SDK-Funktionen aus Ihrem Game-Loop mit berechneten Timing-Werten aufrufen. Bei Engine-Plugins (Unreal, Unity) werden diese Metriken automatisch durch die Engine-Integration erfasst.

Netzwerkmetriken

Metrik Description Implementierung
Verbindungen Die Gesamtzahl der Netzwerkverbindungen, die der Server hergestellt hat Automatisch nach InitMetrics ()
Netzwerk I/O (Byte) Die Gesamtzahl der Byte, die vom Server über das Netzwerk gesendet und empfangen wurden Automatisch nach InitMetrics ()
Netzwerk I/O (Pakete) Die Gesamtzahl der Netzwerkpakete, die vom Server gesendet und empfangen wurden Automatisch nach InitMetrics ()
Verlust von Paketen Der Prozentsatz der Netzwerkpakete, die während der Übertragung verloren gehen Automatisch nach InitMetrics ()

Implementierung: Integrieren Sie SDK-Funktionsaufrufen in Ihre Netzwerkbibliothek. Das SDK bietet Anleitungen für verschiedene Netzwerkimplementierungen.

Metriken verarbeiten

Metrik Description Implementierung
CPU-Auslastung (%) Der Prozentsatz der CPU-Ressourcen, die vom Spieleserverprozess genutzt werden Automatisch nach InitMetrics ()
Speichernutzung (Einheiten) Die Gesamtmenge an Arbeitsspeicher, die von den Serverprozessen verbraucht wird Automatisch nach InitMetrics ()
Physikalische Speicherauslastung (%) Der Prozentsatz des gesamten physischen Speichers des Servers, der derzeit genutzt wird Automatisch nach InitMetrics ()
Serverstatus Zustand des Spieleservers Automatisch nach InitMetrics ()

Implementierung: Diese Metriken werden automatisch vom SDK für jede Spielsitzung erfasst.

Organisation des Dashboards pro Prozess

Prozessspezifische Kennzahlen sind in zwei speziellen Dashboards verfügbar:

  • Serverleistungs-Dashboard — Enthält Server-Timings (Deltazeit, Tick-Rate, Tick-Zeit, Welt-Tick-Zeit), Netzwerkmetriken (Verbindungen, I/O Bytes/Pakete, Paketverlust), Speicherauslastung und CPU-Auslastung für einzelne Spielsitzungen.

  • Dashboard zur Instanzleistung — Mit den Tabellen „Spielesitzungen mit den meisten Speicherbelastungen“ und „Spielesitzungen mit den meisten CPU-Ausgaben“ können Sie ermitteln, welche Prozesse am meisten zum Ressourcenverbrauch der Instanzen beitragen. Wenn Sie auf die Links zu Spielsitzungen klicken, können Sie detaillierte Messwerte genauer untersuchen.

Anwendungsfälle für Metriken pro Prozess

Die prozessualen per-game-session Metriken unterstützen die folgenden Überwachungsszenarien:

  • Umfassende Leistungsuntersuchungen — Wenn die Leistung eines Systems aufgrund bestimmter Prozesse oder Spielsitzungen beeinträchtigt host/instance wurde, können anhand der Statistiken pro Prozess anhand der Tabellen mit den meisten CPUs- und Speicherbelastenden Spielsitzungen ermittelt werden, welcher Prozess das Problem verursacht hat.

  • Untersuchung von Spielserverabstürzen — Wenn eine Spielsitzung abstürzt, können Sie anhand dieser Messwerte feststellen, ob der Absturz auf Speichermangel, CPU-Überlastung oder Probleme mit der Netzwerkbandbreite zurückzuführen ist.

  • Untersuchen Sie von Spielern gemeldete Probleme — Wenn Spieler Verzögerungen oder Unterbrechungen während des Spiels melden, helfen Metriken pro Prozess dabei, Engpässe bei CPU, Arbeitsspeicher, Netzwerk, Tick-Zeit oder Welt-Update-Zeit zu identifizieren.

  • Identifizieren Sie Leistungsänderungen in verschiedenen Builds — Mithilfe der Messwerte Ticktime, Tick-Rate und Weltupdate-Zeit können Entwickler messen, wie sich die Spielleistung zwischen verschiedenen Server-Builds verändert.

  • Erkennen Sie Verzögerungen und Langsamkeit im Gameplay — Die Messwerte für Ticktime, Tick-Rate und Weltupdate geben an, wie schnell der Server das Spiel aktualisiert, was sich direkt auf das Kundenerlebnis auswirkt.

  • Benchmarking — Identifizieren Sie anhand von Faktoren wie Spielerzahl, Spielmodus und anderen Variablen, wie sich verschiedene Spielszenarien auf die Serverleistung auswirken.

Organisation des Dashboards

Metriken sind in Amazon Managed Grafana in speziellen Dashboards für verschiedene Überwachungsszenarien organisiert. Die verfügbaren Dashboards hängen von Ihrem Flottentyp ab:

EC2 Flotten-Dashboards

  • EC2 Dashboard mit Flottenübersicht — Flottenkapazität auf hohem Niveau, Einblicke in die Skalierung, gleichzeitige Spieler (CCU), Instanzen, Spielerkapazität und abgestürzte Spielsitzungen.

  • Dashboard mit Instanzenübersicht — Aggregierte Metriken auf Host-Ebene für alle Instances, einschließlich durchschnittlicher CPU-, Arbeitsspeicher-, Netzwerk- und Festplattenauslastung.

  • Dashboard zur Instanzleistung — Detaillierte Metriken für einzelne Instances mit den Tabellen „Spielesitzungen mit den meisten Speicherbelastungen“ und „Spielesitzungen mit den meisten CPU-Verbrauch“ zur Identifizierung ressourcenintensiver Prozesse.

  • Dashboard zur Serverleistung (EC2) — Timing, Netzwerkleistung, Arbeitsspeicher und CPU-Metriken für einzelne Spielsitzungen auf EC2 Instanzen.

Dashboards für Containerflotten

  • Dashboard „Übersicht über die Containerflotte“ — Allgemeiner Überblick über die Auslastung der Containerflotten, einschließlich CPU-Reservierung, Speicherauslastung und Status der Containergruppen.

  • Dashboard zur Container-Performance — Detaillierte Kennzahlen für einzelne Container im Rahmen bestimmter ECS-Aufgaben, einschließlich CPU-Auslastung, Speicherauslastung, Netzwerk-I/O und Speicherleistung.

  • Dashboard zur Serverleistung (Container) — Timing, Netzwerkleistung, Arbeitsspeicher und CPU-Metriken für einzelne Spielsitzungen in Containern.

Ausführliche Informationen und Nutzungsanweisungen zum Dashboard finden Sie unterOrganisation und Nutzung des Dashboards.