Comment réduire le "Temps pour le premier octet" sur mon site?
si vous allez à la page d'accueil, vous verrez que, avant le chargement de la page, le navigateur attend ...
Comment je pourrais réduire Temps pour le premier octet?
source d'informationauteur sparkle
Vous devez vous connecter pour publier un commentaire.
Personne ne peut vous donner une réponse détaillée, sans vous montrer le code responsable de la génération du contenu du site - parce que c'est au cas où le retard.
Cependant, depuis que le site est en php, vous êtes le plus susceptible à l'aide de le tampon de sortie
Étant donné que c'est le cas, le code suivant va donner un TTFB de (la latence du réseau +) 2:
Alors que cela va vous donner une TTFB de (la latence du réseau +) 0:
Le temps de chargement de la page entière est la même dans les deux cas seulement où le retard est changements. Si vous êtes précisément l'accent sur la réduction de la TTFB (pourquoi), ça devrait vous donner suffisamment d'informations pour en savoir davantage.
IMPORTANT: Il y a beaucoup de frontend changements vous devriez faire avant de se concentrer sur TTFB.
Le retard est causé par le script côté serveur qui génère la page d'index.
Par un rapide coup d'oeil à votre site web, je peux deviner que le site est à l'aide de PHP. Ainsi, le retard est causé par quelque chose contenu dans votre index.php script.
L'hébergement, le réseau, le matériel et le serveur HTTP (Apache) ne sont certainement PAS la cause. Votre graphique montre que les fichiers statiques (.css, .js et ainsi de suite) sont livrés plutôt rapide.
Donc, pour plus de détails, vous devez fournir plus d'informations (la vitesse d'exécution des index.php peut avoir de nombreuses raisons différentes...).
J'ai eu énorme TTFB (8 à 10 secondes) et la recherche désespérément une solution. Après la recherche et de la recherche, sans succès, j'ai décidé de prendre un coup d'oeil à mon code PHP et la base de données index.
La le tampon de sortie de la solution baisser mon TTFB un peu mais pas assez. J'ai eu des plaintes des utilisateurs à nouveau.
Le vrai problème est le temps de traitement du serveur (requêtes DB et PHP boucles) et la source HTML généré.
Maintenant, je vous suggère de prendre ces mesures:
Dans mon cas, je retourne un tableau d'objets et j'ai vérifié mon index pour ma table principale. Tout semblait OK, mais j'ai oublié que mes objets à inclure d'autres petits objets à partir d'autres tables. Ces tableaux n'ont pas été correctement indexé. D'où mon énorme TTFB. Je viens de passer de 8 s à 2 s juste mon ajout le bon index pour les tables de droite.
Vous pouvez avoir de la boucle dans boucle qui peut être lent à traiter. Vous devriez utiliser le PHP framework MVC. De votre choix. Je ne vais pas citer tous.
Éviter un tel code, il est même travail. Je sais, certains PHP4 programmeurs vont dire que c'est bon. 🙂
Par exemple, vous générer du code Javascript par le biais de PHP boucles. La logique est OK. Le temps de chargement n'est pas. Disons que vous de retour de 100 lignes dans une table. Pour chaque ligne, vous n'avez que 5 actions possibles (changement de statut, modifier, supprimer, dupliquer, imprimer). Cela signifie que 5 boîtes de dialogue jQuery HTML (divs, avec des contrôles) et 5 scripts JS multiplier par 100 lignes = des milliers de lignes de code à écrire sur cette page.
Mon cas, plus de 32.000 lignes sur mon code HTML de 4 MO. Vient de passer de 2 sec à moins de 1 sec après, j'ai mis tous ces boîtes de dialogue sur la bonne JS fonctions.
En conclusion(si vous lisez encore ceci :)) ne pas rechercher un peu de magie fonctions pour réduire votre TTFB. De recherche de votre code et de votre base de données.
PS: Certains d'autres choses seront une aide pour la vitesse augmente: mise en cache du navigateur et de la compression, l'utilisation de CDN, rapetisser HTML, de CSS et de JS, de reporter l'analyse de JavaScript, de combiner des images dans des sprites CSS etc.
Utiliser Google Page speed et Google Audits pour plus de performance suggestions.
Erreurs .htaccess peut également augmenter considérablement TTFB.
J'ai dû enlever quelques vieilles lignes de code à gauche par Wordfence pour résoudre mon 8-12 deuxième TTFB (maintenant 500ms).
Je pense que ça dépend de ce que les outils que vous utilisez pour mesurer ce genre de données. Lorsque j'ai utilisé webpagetest.org - le temps de premier octet était de 292 ms ce qui est bon. Peut-être vous devriez ré-exécuter votre chèque?
Partie de ce nombre est tombé à l'endroit où vous êtes en relation avec le serveur - le houblon plus que vous avez à faire - le plus grand de ce nombre. C'est aussi sur le matériel du serveur et de la connectivité - habituellement, c'est quelque chose que vous ne pouvez pas vraiment contrôler. Vous voudrez peut-être chercher dans d'autres hôtes, mais j'aimerais tout d'abord courir un peu plus de tests d'obtenir vos amis à tester votre site sur webpagetest.org (ou similaires) et de voir quelles sont les valeurs qu'ils obtiennent.
Probablement la solution la plus efficace est d'utiliser un CDN avec HTML natif capacités de mise en cache (statique et dynamique). TTFB dépend de votre capacité à traiter rapidement le code HTML sur le serveur d'origine, vous pouvez passer du temps de traitement tout en servant un frais copie mise en cache du CDN.
J'ai écrit un post à ce sujet récemment, qui se penche sur les TTFB les facteurs de retard et de la moyenne de temps de chargement de différentes ressources (fondée sur les données recueillies à travers 1B sessions). Vous trouverez peut-être utile:
http://www.incapsula.com/the-incapsula-blog/item/809-using-cdn-to-improve-seo-and-ttfb
vous pouvez utiliser cloudflare et les services cdn pour TTFB. Si vous ne prenez une rétroaction modifier votre serveur hôte.