web-dev-qa-db-fra.com

Comment puis-je réduire le temps d'attente (ttfb)

J'ai une requête qui consiste à obtenir une liste d'utilisateurs à partir d'une table dans un ordre trié en fonction de l'heure à laquelle elle a été créée. J'ai obtenu le diagramme suivant des outils de développement chrome.

timing from the chrome

Vous pouvez voir que TTFB (time to first byte) est trop élevé.
Je ne suis pas sûr que ce soit à cause du tri SQL. Si c'est la raison, comment puis-je réduire ce temps?
Ou est-ce à cause du TTFB. J'ai vu des blogs qui disent que TTFB devrait être inférieur (<1sec). Mais pour moi, cela montre> 1 seconde. Est-ce à cause de ma requête ou de quelque chose d'autre?
Je ne sais pas comment réduire ce temps.
J'utilise angular. Devrais-je utiliser angular pour trier le tableau au lieu du tri SQL? (beaucoup de posts disent que ça ne devrait pas être le problème)
Ce que je veux savoir, c'est comment puis-je réduire le TTFB. Les mecs! Je suis réellement nouveau à cela. C'est la tâche qui m'a été confiée par les membres de mon équipe. Je ne sais pas comment réduire le temps de TTFB. J'ai vu beaucoup de messages, mais je ne comprenais pas bien. Qu'est-ce que TTFB Est-ce le temps pris par le serveur?

96
govindpatel

TTFB n’est pas l’heure du premier octet du corps de la réponse (c’est-à-dire les données utiles, telles que: json, xml, etc.), mais plutôt le temps nécessaire au premier octet de la réponse reçue du serveur. Cet octet est le début des en-têtes de réponse.

Par exemple, si le serveur envoie les en-têtes avant d'effectuer le travail dur (comme du SQL lourd), vous obtiendrez une TTFB très basse, mais ce n'est pas "vrai".

Dans votre cas, TTFB représente le temps que vous passez à traiter les données sur le serveur.

Pour réduire le TTFB, vous devez accélérer le travail côté serveur.

105

J'ai rencontré le même problème. Mon projet s'exécute sur le serveur local. J'ai vérifié mon code php.

$ db = mysqli_connect ('localhost', 'root', 'root', 'smart');

J'utilise localhost pour me connecter à ma base de données locale. C'est peut-être la cause du problème que vous décrivez. Vous pouvez modifier votre fichier HOSTS. Ajouter la ligne

127.0.0.1 localhost.

15
CH Chow

TTFB est quelque chose qui se passe dans les coulisses. Votre navigateur ne sait rien de ce qui se passe dans les coulisses.

Vous devez vérifier quelles requêtes sont en cours d’exécution et comment le site Web se connecte au serveur.

This article pourrait aider à comprendre TTFB, mais sinon, vous devez creuser plus profondément dans votre application.

11
Pureferret

Je vous suggérerais de lire ceci article et de vous concentrer davantage sur l'optimisation de la réponse globale à la demande de l'utilisateur (une page, un résultat de recherche, etc.)

Un bon argument à cet égard est l'exemple qu'ils donnent à propos de l'utilisation de gzip pour compresser la page. Même si ttfb est plus rapide lorsque vous ne compressez pas, l'expérience globale de l'utilisateur est pire car le téléchargement de contenu qui n'est pas compressé prend plus de temps.

4
Mike

Si vous utilisez PHP, essayez d'utiliser <?php flush(); ?> après </head> et avant </body> ou toute section que vous souhaitez afficher rapidement (comme l'en-tête ou le contenu). Il va sortir le code en fait sans attendre la fin de php. N'utilisez pas cette fonction tout le temps, sinon l'augmentation de la vitesse ne sera pas perceptible.

Plus d'infos

3
Matías P.