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.
Leistungsstatistiken in Echtzeit
Amazon GameLift Streams sammelt Leistungsstatistiken während aktiver Stream-Sitzungen und misst jede Sekunde die Ressourcennutzung. Verwenden Sie diese Statistiken, um die Leistung Ihrer Anwendung zu überwachen, Ressourcenengpässe zu identifizieren und Ihr Streaming-Erlebnis zu optimieren.
Zu den Leistungsstatistiken gehören sowohl Statistiken auf Anwendungsebene (CPU- und Speicherauslastung für Ihre spezifische Anwendung) als auch Statistiken auf Systemebene (CPU-, Arbeitsspeicher-, GPU- und VRAM-Auslastung für die gemeinsam genutzte Recheninfrastruktur).
Sie können Leistungsstatistiken auf zwei Arten abrufen:
-
Während der Sitzung in Echtzeit: Verwenden Sie das Amazon GameLift Streams Web SDK, um Statistiken zu erhalten, sobald sie erfasst werden. Auf diese Weise können Sie Performance-Overlays erstellen und die Ressourcennutzung überwachen, während Sie mit der Anwendung interagieren.
-
Nach der Sitzung als CSV-Datei: Wenn Sie Sitzungsdateien exportieren, sind die Statistiken als enthalten.
stats/perf_stats_v1.csvDies bietet einen vollständigen Datensatz für die Analyse und das Debugging nach der Sitzung.
Erhalten Sie Leistungsstatistiken
Empfangen Sie Statistiken in Echtzeit
Um während einer aktiven Sitzung Leistungsstatistiken in Ihrer Client-Anwendung zu erhalten, setzen Sie den SharedWithClient Parameter true beim Aufrufen der StartStreamSession API auf. Das Amazon GameLift Streams Web SDK bietet einen performanceStats Callback, der ausgelöst wird, wenn neue Statistiken aus der Streaming-Sitzung eintreffen.
Warnung
Nicht SharedWithClient für Produktionssitzungen mit Endbenutzern aktivieren. Aktivieren Sie es nur, wenn der Client vertrauenswürdig ist, z. B. für internes Debuggen und Testen.
Stellen clientConnection.performanceStats Sie bei der Initialisierung des Amazon GameLift Streams Web SDK eine Callback-Funktion ein, die Leistungsstatistiken empfängt.
const gls = new gameliftstreams.GameLiftStreams({ videoElement: document.getElementById('streamVideoElement'), audioElement: document.getElementById('streamAudioElement'), inputConfiguration: { ... }, clientConnection: { ... performanceStats: (perfStats) => { // Your callback logic here console.log('CPU: ' + perfStats.application.cpuNormalized); console.log('Memory: ' + perfStats.application.memoryMB + ' MB'); console.log('GPU: ' + perfStats.system.gpuPercent + '%'); }, } });
Der Callback empfängt ein PerformanceStats Objekt, das sowohl Statistiken auf Anwendungs- als auch auf Systemebene enthält. Einzelheiten zur Schnittstellenstruktur finden Sie in der Amazon GameLift Streams Web SDK-Dokumentation auf der Produktseite Getting Started
Die Amazon GameLift Streams-Konsole enthält auch ein integriertes Performance-Overlay, wenn Sie die Teststream-Funktion verwenden, sodass Sie Statistiken in Echtzeit überwachen können, ohne dass Implementierungsaufwand erforderlich ist.
Sie können Leistungsstatistiken mit WebRTC-Statistiken kombinieren, die von den getAudioRTCStats() Funktionen getVideoRTCStats() und im Amazon GameLift Streams Web SDK bereitgestellt werden. Diese Kombination bietet ein vollständiges Bild der Streaming-Leistung, einschließlich Netzwerkstatistiken, Client-Framerate und Ressourcennutzung.
Empfangen Sie Statistiken nach der Sitzung
Amazon GameLift Streams sammelt bei jeder Stream-Sitzung automatisch Leistungsstatistiken. Wenn Sie Sitzungsdateien exportieren, sind die Statistiken wie stats/perf_stats_v1.csv in der exportierten ZIP-Datei enthalten. Auf diese Weise erhalten Sie eine vollständige Aufzeichnung aller während der Sitzung gesammelten Statistiken für die Analyse und das Debugging nach der Sitzung.
Weitere Informationen zum Exportieren von Sitzungsdateien finden Sie unter. Stream-Sitzungsdateien exportieren
Referenz zu Leistungsstatistiken
In der folgenden Tabelle sind alle von Amazon GameLift Streams gesammelten Leistungsstatistiken aufgeführt. Anwendungsstatistiken sind spezifisch für die aktuelle Sitzung, wohingegen Statistiken gemeinsam genutzter Systeme die Gesamtauslastung der gemeinsam genutzten Rechenleistung durch Sitzungen in Stream-Klassen mit mehreren Mandanten wiedergeben.
Normalisierte Statistiken zu Stream-Klassen mit mehreren Mandanten
Amazon GameLift Streams unterstützt Multi-Tenant-Stream-Klassen, bei denen sich mehrere Sessions dieselbe Recheninstanz teilen können. Normalisierte Statistiken (CPU- und Speicherauslastung der Anwendung) messen den Ressourcenverbrauch Ihrer Anwendung im Verhältnis zum zugewiesenen fairen Anteil. Der faire Anteil wird berechnet, indem die gesamte verfügbare CPU und der verfügbare Arbeitsspeicher auf der Recheninstanz gleichmäßig auf der Grundlage der Stream-Klassen-Tenancy aufgeteilt werden.
Ein Wert von 1,0 bedeutet, dass Ihre Anwendung genau ihre Fair-Share-Allokation verwendet. Werte unter 1,0 bedeuten, dass Sie weniger als Ihre Zuteilung verwenden. Werte über 1,0 deuten auf eine Überauslastung hin, was zu Leistungseinbußen bei Ihrer Sitzung führen kann. Bei Stream-Klassen mit mehreren Mandanten (Tenancy größer als 1) kann sich eine Überauslastung auch auf andere Sitzungen auswirken, die dieselbe Recheninstanz gemeinsam nutzen.
Die in der folgenden Tabelle aufgeführten Statistiknamen werden in der exportierten Datei als CSV-Spaltenüberschriften verwendet. Wenn Sie Statistiken in Echtzeit über das Amazon GameLift Streams Web SDK erhalten, sind diese Statistiken über die PerformanceStats Schnittstelle mit Eigenschaftsnamen in Camel Case verfügbar. Die genaue Schnittstellenstruktur und die Eigenschaftsnamen finden Sie im Amazon GameLift Streams Web SDK API-Referenzhandbuch auf der Produktseite Erste Schritte
| Statistikname (CSV-Spalte) | Description | Scope |
|---|---|---|
timestamp |
Uhrzeit, zu der die Messung durchgeführt wurde, im Format ISO 8601. | Alle |
app_cpu_normalized |
Die CPU-Auslastung der Anwendung wurde anhand der Fair-Share-Allokation normalisiert, wobei 1,0 das angestrebte Fair-Share-Limit darstellt. Eine Auslastung über 1,0 weist auf eine Überauslastung hin, die zu Leistungseinbußen führen kann | Anwendung |
app_mem_mb |
Gesamtspeicher (RAM), der von der Anwendung verwendet wird (gemessen in MiB) | Anwendung |
app_mem_normalized |
Die Speicherauslastung der Anwendung wurde anhand der Fair-Share-Allokation normalisiert, wobei 1,0 dem angestrebten Fair-Share-Limit entspricht. Eine Auslastung über 1,0 weist auf eine Überauslastung hin, die zu Leistungseinbußen führen kann | Anwendung |
shared_sys_cpu_pct |
Prozentsatz der gesamten CPU-Auslastung auf dem gemeinsam genutzten Computer. | Gemeinsames System |
shared_sys_mem_mb |
Gesamter auf der Instanz genutzter Speicher (gemessen in MiB). | Gemeinsames System |
shared_sys_mem_pct |
Prozentsatz des gesamten Arbeitsspeichers, der vom gemeinsam genutzten Computer genutzt wird. | Gemeinsames System |
shared_sys_gpu_pct |
Prozentsatz der gesamten GPU-Auslastung auf dem gemeinsam genutzten Computer. | Gemeinsames System |
shared_sys_vram_mb |
Gesamter VRAM (GPU-Speicher), der auf dem gemeinsam genutzten Computer verwendet wird (gemessen in MiB). | Gemeinsames System |
shared_sys_vram_pct |
Prozentsatz des gesamten VRAM (GPU-Speichers), der vom gemeinsam genutzten Computer verwendet wird. | Gemeinsames System |