Temps de serveur sur tous les points de terminaison

created: dimanche, mai 7, 2023

Puisque nous ne pouvons améliorer que ce que nous mesurons, nous avons commencé à implémenter l’API Server Timing sur tous les points de terminaison HTTP.

L’API offre des moyens simples d’étendre l’en-tête HTTP avec quelques mesures de performance.

Pour une introduction générale au sujet, vous pouvez consulter la documentation Mozilla à ce sujet (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing).

En ce qui concerne l’implémentation réelle, nous utilisons l’implémentation Rust suivante, qui nous fournit des données de performance pour le serveur axum directement, (https://crates.io/crates/axum-server-timing).

Puisque notre architecture s’étend sur plusieurs centres de données, nous ne publions pas ces métriques comme une seule mesure. Nous avons adopté une approche par couches pour notre réseau.

réseau en couches

Voici quelques exemples d’en-têtes produits par notre API.

server-timing: dtz-red;dur=765, dtz-blue;desc="dtz-blue(warm)";dur=538
content-length: 19276864
last-modified: Sun, 07 May 2023 10:25:33 GMT
date: Sun, 07 May 2023 10:27:52 GMT
content-type: application/octet-stream

temps du container api