2010-11-04 23 views
0

Je vois un comportement bizarre se connecter à un serveur web de développement fonctionnant sur ma machine locale.1 seconde fois les temps de connexion localhost vs. nill contre mon adresse IP 192.168.1.x

Lorsque je me connecte à http://192.168.1.14 (mon ip) tout charge rapidement (sous 200ms pour une page + 20 ressources, un résultat attendu).

Lorsque je me connecte à http://localhost je reçois 5 secondes charge fois pour la même page et ce que je vois quand je profil la page en utilisant Chrome est:

  • 1ère page, ~ temps de connexion 1 sec (varie de 0,98 à 1,02), puis charge rapidement
  • Les 3 ressources suivantes ont un temps de connexion d'environ 1 seconde, puis se chargent rapidement.
  • Les 6 prochaines attendent alors le temps de connexion ~ 1 sec (après le dernier groupe chargé), puis charge rapidement.
  • Ce motif se répète en lots de 6 ressources jusqu'à ce que tout soit chargé.

Une idée à ce sujet? D'où pourrait provenir le délai de connexion de 1 seconde?

Je référence le "Temps de connexion" du graphique de profil de ressources fourni dans les outils de développement Google Chrome. Par exemple, une ressource montre:

Proxy:  0ms 
DNS Lookup: 1ms 
Connecting: 1.00s 
Sending: 0ms 
Waiting: 3ms 
Receiving: 2ms 
+0

Hmm, vos liens ne semblent pas fonctionner :-) – paxdiablo

+0

Avez-vous déjà résolu ce problème? Je cours dedans aussi. – AngryHacker

Répondre

1

J'ai récemment eu un problème similaire. Le problème était que j'avais configuré un serveur proxy dans les paramètres proxy de Windows et que chaque requête passait par le proxy même si j'avais explicitement activé l'option "Contourner le serveur proxy pour les adresses locales". Apparemment, ce paramètre ne fonctionnait pas ou n'a pas fait ce que j'attendais.

Alors je suis allé de l'avant et j'ai configuré une exception pour localhost dans les paramètres proxy avancés. Maintenant tout de mon serveur de développement se charge assez rapidement.

+0

Cela a peut-être été différent, car je ne le rencontre plus. Cependant, je jouais avec les paramètres de proxy à cette époque. Merci pour la réponse!! –

1

Qu'est-ce qui se passe lorsque vous essayez 127.0.0.1 directement? Je l'imagerie pourrait être le fait que quelque chose doit encore traduire localhost en 127.0.0.1 que ce soit un serveur DNS ou votre fichier/etc/hosts ou le service des pages jaunes. Si 127.0.0.1 est rapide, je dirais que c'est un délai de traduction auquel cas l'étape suivante consiste à comprendre ce qui fait la traduction.

Si c'est lent, je regarderais les journaux du serveur d'applications ou du serveur Web. Apache, si c'est ce que vous utilisez, est l'une des deux seules applications infiniment configurables jamais construites, l'autre étant Emacs, bien sûr :-)

+0

127.0.0.1 est rapide (120ms), tout comme 192.168.1.114, c'est seulement quand j'utilise http: // localhost que j'obtiens des temps de chargement lents (typiquement 4 secondes).L'heure du DNS dans le chrome est appelée séparément et ne montre aucun problème (pas que je sache comment le chrome calcule ces choses cependant). Le travail autour est assez simple, mais c'est un comportement très étrange. J'ai essayé de profiler l'application dans eclipse et cela ne montre aucun temps anormal passé sur le serveur, il semble que tout soit vraiment dans la connexion. Mais je ne peux pas faire une capture wireshark sur localhost. Je suppose que c'est vraiment un problème de système d'exploitation. –

+0

Vous ne pouvez pas être en mesure de wireshark localhost mais, si la demande est envoyée à un serveur DNS, vous pouvez capturer _that_. Quels sont les paramètres DNS de 'ipconfig/all' ou' ifconfig'? – paxdiablo

0

La seule solution que j'ai trouvée était d'ajouter une entrée de fichier hôte et de référencer le site Web local via l'entrée du fichier hôte. Pour une raison inexplicable, cela a rendu la page en temps réel.