[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/API/Performance_API/Server_timing [Back]  [Original]

Server Timing - Web-APIs | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Server Timing

Server-Timing ist ein Teil der Performance API und ermglicht es Servern, Metriken ber den Anforderungs-Antwort-Zyklus an den Nutzeragenten zu bermitteln. Sie knnen diese Informationen sammeln und auf serverseitige Metriken genauso reagieren wie auf alle anderen Metriken, die mit der Performance API verarbeitet werden.

In diesem Artikel

Senden von Servermetriken

Der Server-Timing HTTP-Header wird verwendet, um Backend-Server-Zeitmetriken anzuzeigen. Beispielsweise mchten Sie mglicherweise Zeiten von Datenbank-Lese- und Schreiboperationen, CPU-Zeit und Dateisystemzugriff senden.

Sie knnen Metriken mit oder ohne Werte senden. Die Metriken knnen optional eine Beschreibung enthalten. Es wird empfohlen, Namen, Beschreibungen und Daten so kurz wie mglich zu halten, um den HTTP-Overhead zu minimieren.

Beispiele fr Server-Timing-Header:

http
// Single metric without value
Server-Timing: missedCache

// Single metric with value
Server-Timing: cpu;dur=2.4

// Single metric with description and value
Server-Timing: cache;desc="Cache Read";dur=23.2

// Two metrics with values
Server-Timing: db;dur=53, app;dur=47.2

// Server-Timing as trailer
Trailer: Server-Timing
--- response body ---
Server-Timing: total;dur=123.4

Um reale serverseitige Metriken zu berechnen, konsultieren Sie die Dokumentation Ihres serverseitigen CMS, Frameworks oder Ihrer Programmiersprache, um zu erfahren, wie Sie die Leistung innerhalb der Backend-Anwendung messen knnen. Wenn Ihr Server Node.js verwendet, werden Ihnen die Leistungs-Mess-APIs sehr vertraut vorkommen, da das Node.js-Leistungsmodul ein Teilmengensatz der W3C Web Performance APIs sowie zustzliche APIs fr Node.js-spezifische Leistungs-Messungen ist. Weitere Informationen finden Sie in der Node.js-Leistungsdokumentation.

Beachten Sie, dass es keine Uhren-Synchronisation zwischen dem Server, dem Client und etwaigen Zwischenproxies gibt. Das bedeutet, dass, wenn Ihr Server Zeitstempel oder eine startTime sendet, der Wert mglicherweise nicht sinnvoll zur startTime der Client-Zeitleiste passt.

Sobald Sie Ihre gewnschten Metriken berechnet haben, muss der Server den Server-Timing-Header in seiner Antwort senden. Siehe die Server-Timing Referenzseite fr ein Beispiel, wie der Header in Node.js gesendet wird.

Abrufen von Servermetriken

Die Server-Timing-Metriken erscheinen normalerweise in den Entwicklerwerkzeugen des Browsers, werden aber auch als PerformanceServerTiming Performance-Eintrge gespeichert, auf die Sie wie auf andere Performancedaten zugreifen knnen. Allerdings gibt es keine "server-timing" Eintrge allein. Die PerformanceServerTiming Objekte sind in den "navigation" und "resource" Performance-Eintrgen beobachtbar. Sie greifen auf die Servermetriken ber die PerformanceResourceTiming.serverTiming Eigenschaft zu, welche ein Array von PerformanceServerTiming Objekten ist.

Gegeben ein Server-Timing wie dieses:

http
Server-Timing: cache;desc="Cache Read";dur=23.2,db;dur=53,app;dur=47.2

Ein PerformanceObserver kann die Eintrge clientseitig mit dem folgenden Code protokollieren:

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    entry.serverTiming.forEach((serverEntry) => {
      console.log(
        `${serverEntry.name} (${serverEntry.description}) duration: ${serverEntry.duration}`,
      );
      // Logs "cache (Cache Read) duration: 23.2"
      // Logs "db () duration: 53"
      // Logs "app () duration: 47.2"
    });
  });
});

["navigation", "resource"].forEach((type) =>
  observer.observe({ type, buffered: true }),
);

Datenschutz- und Sicherheitsberlegungen

Der Server-Timing-Header kann potenziell sensible Informationen ber Anwendungen und Infrastruktur preisgeben. Daher mssen Sie steuern, wann die Metriken zurckgegeben werden und an wen auf der Serverseite. Beispielsweise knnten Sie Metriken nur authentifizierten Benutzern anzeigen und der ffentlichkeit nichts.

Das PerformanceServerTiming-Interface ist auf denselben Ursprung beschrnkt, aber Sie knnen den Timing-Allow-Origin Header verwenden, um die Domnen anzugeben, die auf die Servermetriken zugreifen drfen. Beachten Sie auch, dass dieses Interface nur in sicheren Kontexten (HTTPS) in einigen Browsern verfgbar ist.


Web Proxy Viewer  |  New URL  |  Original Page