82 votes

Que signifient les heures dans la chronologie de Google Chrome dans le panneau réseau ?

Souvent, lors du dépannage des performances à l'aide du panneau réseau de Google Chrome, je vois différentes durées et je me demande souvent ce qu'elles signifient.

Quelqu'un peut-il confirmer que j'ai bien compris :

  1. Blocage : Temps bloqué par les demandes multiples du navigateur pour le même domaine limite( ???)
  2. En attente : En attente d'une connexion du serveur ( ???)
  3. Envoi : Temps passé à transférer le fichier du serveur au navigateur ( ???)
  4. Réception : Temps passé par le navigateur à analyser et décoder le fichier ( ???)
  5. Recherche DNS : Temps passé à résoudre le nom de l'hôte.
  6. Connexion : Temps passé à établir une connexion par socket.

Maintenant, comment quelqu'un pourrait-il réparer les longs temps de blocage ?

Maintenant, comment quelqu'un pourrait-il régler le problème des longs délais d'attente ?

92voto

Trisped Points 2571

L'envoi est le temps passé à télécharger les données/demandes vers le serveur. Il se produit entre le blocage et l'attente. Par exemple, si je renvoie une page ASPX, cela indique le temps qu'il a fallu pour télécharger la requête (y compris les valeurs des formulaires et l'état de la session) vers le serveur ASP.

L'attente est le temps qui s'écoule après l'envoi de la demande, mais avant la réception d'une réponse du serveur. En fait, il s'agit du temps passé à attendre une réponse du serveur.

La réception est le temps passé à télécharger la réponse du serveur.

Blocage de est le temps écoulé entre le lancement de la demande par le thread de l'interface utilisateur et l'arrivée de la demande HTTP GET sur le fil.

L'ordre dans lequel ils se produisent est le suivant :

  1. Bloquer*
  2. Recherche DNS
  3. Connexion
  4. Envoi de
  5. Attente
  6. Réception

*Le blocage et la recherche de DNS peuvent être échangés.

L'onglet réseau n'indique pas le temps passé à traiter.

Si les temps de blocage sont longs, c'est que la machine qui exécute le navigateur fonctionne lentement. Vous pouvez remédier à ce problème en améliorant la machine (plus de RAM, processeur plus rapide, etc.) ou en réduisant sa charge de travail (désactiver les services dont vous n'avez pas besoin, fermer des programmes, etc.)

Des temps d'attente longs indiquent que votre serveur met beaucoup de temps à répondre aux demandes. Cela signifie soit :

  • La requête prend beaucoup de temps à traiter (par exemple, si vous extrayez une grande quantité de données de la base de données, si de grandes quantités de données doivent être triées ou si un fichier doit être trouvé sur un disque dur qui doit tourner).
  • Votre serveur reçoit trop de demandes pour les traiter toutes dans un délai raisonnable (le traitement d'une demande peut prendre 0,02 seconde, mais lorsque vous avez 1000 demandes, le délai est sensible).

Les deux problèmes (longue attente + long blocage) sont liés. Si vous pouvez réduire la charge de travail du serveur par la mise en cache, l'ajout d'un nouveau serveur et la réduction du travail requis pour les pages actives, vous devriez constater des améliorations dans les deux domaines.

23voto

Salvador Dali Points 11667

Vous pouvez lire un rapport détaillé explication officielle de l'équipe de google ici. Il s'agit d'une ressource très utile et vos informations sont reprises ci-dessous. Vue chronologique section.

Timing du réseau de ressources affiche les mêmes informations que dans la barre de ressources en vue chronologique. Je réponds à votre question :

  • Recherche DNS : Temps passé à effectuer la recherche DNS. (vous devez trouver l'adresse IP de site.com et cela prend du temps)
  • Blocage de : Temps que la requête a passé à attendre qu'une connexion déjà établie devienne disponible pour être réutilisée. Comme il a été dit dans une autre réponse, cela ne dépend pas de votre serveur - c'est le problème du client.
  • Connexion : Temps nécessaire à l'établissement d'une connexion, y compris les prises de contact/retours TCP, la consultation du DNS et le temps de connexion à un proxy ou de négociation d'une couche de sockets sécurisés (SSL). Dépend de l'encombrement du réseau.
  • Envoi de - Temps passé à envoyer la demande. Dépend de la taille des données envoyées (qui est généralement petite car votre demande est presque toujours de quelques octets, sauf si vous envoyez une grande image ou une énorme quantité de texte), de l'encombrement du réseau, de la proximité du client et du serveur.
  • Attente - Temps passé à attendre la réponse initiale. Il s'agit principalement du temps nécessaire à votre serveur pour traiter et répondre à votre réponse. C'est la vitesse à laquelle votre serveur calcule les choses, récupère les enregistrements dans la base de données, etc.
  • Réception - Temps passé à recevoir les données de la réponse. C'est un peu comme l'envoi, mais vous recevez maintenant vos données du serveur (la taille de la réponse est généralement plus grande que celle de la demande). Cela dépend donc également de la taille, de la qualité de la connexion, etc.

1voto

Arun Points 43

Blocage de : Temps que la demande a passé à attendre qu'une connexion déjà établie devienne disponible pour être réutilisée. Comme il a été dit dans une autre réponse, cela ne dépend pas de votre serveur - c'est le problème du client. client .

Je ne suis pas d'accord avec la déclaration ci-dessus. Toutes choses étant égales par ailleurs [la charge de travail de ma machine], mon navigateur affiche un temps de blocage très court pour un site Web et un temps de blocage long pour un autre site Web.

Donc, si l'attente pour l'un des six threads + la négociation du proxy** est élevée, c'est surtout à cause de l'effet en cascade de la lenteur du serveur OU de la mauvaise conception de la page [trop d'informations envoyées sur le fil, trop de fois].

** - quelle que soit la signification de "Proxy Negotiation", personne ne l'explique très bien, en particulier lorsqu'aucun proxy local/CDN n'est réellement impliqué.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X