web-dev-qa-db-fra.com

Gtmetrix affiche un temps de chargement élevé pour le temps d’attente du premier domaine. Comment le réduire

Je me demande pourquoi le téléchargement de mon domaine prend beaucoup de temps.
Selon le scénario Gtmetrix, la propagation d'un premier nom de domaine prend jusqu'à 953 ms:

Blocking - 53 ms
Waiting - 843 ms
Receiving - 57 ms

Parfois, cela prend jusqu'à 2 secondes.

Ci-dessous la réponse de l'en-tête:

Server              Apache/2.2
Vary                Accept-Encoding
Cache-Control       no-cache
Content-Type        text/html; charset=utf-8
Content-Encoding    gzip
P3P                 CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Date                Wed, 22 Jan 2014 02:45:14 GMT
Pragma              no-cache
Connection          Keep-Alive
Set-Cookie          X-Mapping-alncmkhk=EDDD5D603AF7261BACF2EBF3FC8185A8; path=/
ed2f1641e2a81373908380a3799b0d29=59n2seqdchc1j6lvl48lepevg0; path=/
Content-Length      7806

Request Headers    
Host                www.mycarhelpline.com
User-Agent          Mozilla/5.0 (X11; Linux i686 on x86_64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept              text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language     en-US,en;q=0.5
Accept-Encoding     gzip, deflate
Connection          keep-alive

Un conseil - que faire correctement pour réduire ce chiffre de plus de 90%?

1
Saahil Sinha

Le temps d'attente est le gros problème ici. C'est le temps nécessaire à votre serveur Web pour générer la page HTML une fois qu'il a reçu la demande. De longs temps d'attente résultent généralement du fait que le serveur a besoin de beaucoup de traitement pour créer la page - par exemple, l'extraction d'informations à partir d'une base de données ou d'un service Web externe.

EDIT: Vous devez savoir si les retards sont causés par des plugins ou par votre hébergeur. Vous devriez mettre votre chapeau de détective de police et faire des recherches :) Commencez par créer une page très basique et prenez le temps de son chargement. Ajoutez ensuite des plugins et activez les fonctionnalités une par une jusqu'à ce que vous découvriez ce qui prend tant de temps. Si une page très simple sans plug-in activé prend trop de temps, vous devrez peut-être changer de société d'hébergement Web. Vous pouvez utiliser les outils de développement (appuyez sur la touche F12) des navigateurs modernes pour afficher les temps de chargement dans un onglet Réseau. Il s'agit du temps d'attente de la toute première demande de chaque page à inspecter.

J'imagine que la section "Forum à une question" extrait ses données de quelque part chaque fois que la page est demandée, ce qui est à l'origine du retard. Dans ce cas, vous devrez trouver des moyens d'optimiser le temps que cela prend et/ou d'utiliser une stratégie de mise en cache. Personnellement, je demanderais au serveur de récupérer les données nécessaires en arrière-plan à des intervalles d'environ 5 minutes et de les stocker en mémoire. Ensuite, lorsque le serveur doit générer la page, il peut simplement inclure les données de la mémoire, ce qui est très rapide. Vous pourrez peut-être faire en sorte que le serveur mette à jour ces données en cache chaque fois que le forum est mis à jour afin qu'il soit disponible presque instantanément.

Si vous appelez une base de données, je consacrerais également du temps à l'optimisation des requêtes utilisées - une indexation correcte peut faire une énorme différence de vitesse. De plus, si votre base de données se trouve à un emplacement différent de celui de votre serveur Web, l'envoi et la réception de données entre les deux auront un délai supplémentaire. Il est donc d'autant plus important de ne lire dans la base de données que lorsque vous en avez vraiment besoin. De plus, ne récupérez que les données exactes dont vous avez besoin - assurez-vous de ne pas ramener chaque enregistrement et chaque colonne de cet enregistrement, les résultats de la requête ne doivent contenir que le minimum d'informations dont vous avez besoin.

2
Geezer68