AccueilđŸ‡«đŸ‡·Chercher

Time to first byte

Le Time to First Byte (TTFB) est une mesure utilisée comme une indication de la réactivité d'un serveur Web ou d'une autre ressource réseau.

Le terme est utilisé depuis plusieurs décennies, mais est devenu populaire depuis 2012[1].

La TTFB mesure la durĂ©e entre l'utilisateur ou le client qui fait une requĂȘte HTTP et le premier octet de la page reçue par le navigateur du client. Ce temps est composĂ© du temps de connexion de la socket, du temps nĂ©cessaire pour envoyer la requĂȘte HTTP, et du temps nĂ©cessaire pour obtenir le premier octet de la page. Bien que parfois mal compris comme un calcul post-DNS, le calcul initial de la TTFB en rĂ©seau inclut toujours la latence du rĂ©seau pour mesurer le temps nĂ©cessaire pour qu'une ressource commence Ă  se charger.

Souvent, une taille TTFB plus petite (plus rapide) est considérée comme une référence pour une application serveur bien configurée. Par exemple, un temps plus court avant le premier octet pourrait indiquer que le serveur Web effectue moins de calculs dynamiques, bien que cela soit souvent dû à la mise en cache au niveau DNS, serveur ou application. Plus souvent, on observe une trÚs faible TTFB avec des pages Web à service statique, tandis qu'une plus grande TTFB est souvent observée avec des demandes de données dynamiques plus importantes tirées d'une base de données.

Utilisations en développement web

Le temps de chargement du premier octet est important pour une page Web car il indique les pages qui se chargent lentement en raison de calculs cĂŽtĂ© serveur qui pourraient ĂȘtre mieux servies comme script cĂŽtĂ© client. Souvent, cela inclut des scripts simples et des calculs comme la transition d'images qui ne sont pas des gifs et qui sont transfĂ©rĂ©es en utilisant JavaScript pour modifier leurs niveaux de transparence. Cela peut souvent accĂ©lĂ©rer un site Web en tĂ©lĂ©chargeant plusieurs petites images par le biais de sockets au lieu d'une seule grande image. Cependant, cette technique est plus intensive sur l'ordinateur du client et sur les PC plus anciens peut ralentir la page web lors du rendu rĂ©el.

Le temps de chargement du premier octet est si important que certaines pages Web ont renoncĂ© au chargement paresseux pour tenter de donner l'impression que leur contenu est chargĂ© plus rapidement. Ceci est utile avec les pages Web qui ont beaucoup d'images et de grandes quantitĂ©s de donnĂ©es. Toutefois, il y a plusieurs raisons pour lesquelles la TTFB peut ĂȘtre Ă©levĂ©e :

  • Les requĂȘtes de base de donnĂ©es sont rapides mais nĂ©cessitent souvent une logique post-requĂȘte pour formater les donnĂ©es pour l'utilisateur final ;
  • Les interfaces de programmation d'application utilisĂ©es cĂŽtĂ© serveur peuvent augmenter le temps de rĂ©ponse global, comme c'est courant dans les API REST qui traitent de grandes quantitĂ©s de donnĂ©es d'une base de donnĂ©es.

Importance

La TTFB est souvent utilisĂ©e par les moteurs de recherche comme Google et Yahoo pour amĂ©liorer les classements de recherche puisqu'un site Web rĂ©pondra Ă  la demande plus rapidement et sera utilisable avant que d'autres sites Web puissent le faire. Il y a des inconvĂ©nients Ă  cette mesure puisqu'un serveur Web ne peut envoyer que la premiĂšre partie de l'en-tĂȘte avant mĂȘme que le contenu soit prĂȘt Ă  ĂȘtre envoyĂ© pour rĂ©duire sa TTFB. Bien que cela puisse sembler trompeur, cela peut ĂȘtre utilisĂ© pour informer l'utilisateur que le serveur web est en fait actif et qu'il rĂ©pondra avec du contenu sous peu. Il y a plusieurs raisons pour lesquelles cette tromperie est utile, notamment parce qu'elle entraĂźne la crĂ©ation d'une connexion persistante, ce qui entraĂźne moins de tentatives de rĂ©essai de la part d'un navigateur ou d'un utilisateur puisqu'il a dĂ©jĂ  reçu une connexion et se prĂ©pare actuellement au tĂ©lĂ©chargement du contenu.

TTFB VS temps de charge

Le temps de chargement est le temps qu'il faut pour qu'une page Web soit chargĂ©e et utilisable par un navigateur. Souvent, dans la livraison d'une page Web, une page est compressĂ©e au format Gzip pour rĂ©duire la taille du tĂ©lĂ©chargement. Cette pratique empĂȘche l'envoi du premier octet tant que la compression n'est pas terminĂ©e et augmente considĂ©rablement la TTFB. La TTFB peut aller de 100-200 ms Ă  1000-2000 ms, mais la page se chargera beaucoup plus rapidement et sera prĂȘte pour l'utilisateur dans un temps beaucoup plus court. De nombreux sites Web constatent une augmentation de 5 Ă  10 fois plus frĂ©quente de la TTFB, mais un temps de rĂ©ponse du navigateur beaucoup plus rapide, avec une diminution de 20 % du temps de chargement. Il y a cependant quelques inconvĂ©nients Ă  utiliser la compression Gzip :

La charge du CPU du serveur augmente pendant la compression.

peut prendre beaucoup de temps à traiter et puisqu'un premier octet n'est pas envoyé tant qu'il n'a pas été compressé, il peut donner l'impression que la page Web est suspendue.

Les longs délais jusqu'aux premiers octets amÚnent souvent un utilisateur à annuler et à réémettre sa demande au serveur Web, ce qui entraßne une augmentation de la charge CPU en raison des demandes de charge séquentielles.

D'aprÚs Google, le TTFB ne devrait pas dépasser les 200 ms[2]. Cependant le temps de réponse perçu par l'utilisateur est encore plus important que le temps de chargement réel de la page[3].

Notes et références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.