| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/Performance_API/Server_timing | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
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.
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:
// 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.
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:
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:
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 }),
);
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.
EventCountsInteractionContentfulPaintLargestContentfulPaintLayoutShiftLayoutShiftAttributionNotRestoredReasonsNotRestoredReasonDetailsPerformancePerformanceContainerTimingPerformanceEntryPerformanceElementTimingPerformanceEventTimingPerformanceLongAnimationFrameTimingPerformanceLongTaskTimingPerformanceMarkPerformanceMeasurePerformanceNavigationPerformanceNavigationTimingPerformanceObserverPerformanceObserverEntryListPerformancePaintTimingPerformanceResourceTimingPerformanceScriptTimingPerformanceServerTimingPerformanceSoftNavigationPerformanceTimingTaskAttributionTimingVisibilityStateEntryDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |