Je travaille sur un tout petit projet PHP pour un de mes amis, et j'ai un environnement WAMP configuré pour le développement local. Je me souviens de l'époque où la réponse de mon Apache 2.2 local était immédiate. Hélas, maintenant que je suis rentré d'un long, très long congé, je trouve que les réponses d'Apache 2.2 sont immédiates. localhost
douloureusement lent.
Il faut environ 5 secondes pour qu'une page HTML de 300B soit servie.
Quand je regarde le gestionnaire de tâches, le httpd
Les processus (2) utilisent 0 % du CPU et, globalement, mon ordinateur n'est pas sous charge (0-2 % d'utilisation du CPU).
Pourquoi la latence est-elle si élevée ? Y a-t-il un paramètre d'Apache que je pourrais modifier pour que son thread soit exécuté avec une priorité plus élevée ou autre ? Il semble qu'il dorme simplement avant de servir la réponse.
1 votes
Est
localhost
se résout correctement au niveau du DNS ?ping localhost
devrait revenir instantanément con127.0.0.1
.0 votes
Cela fonctionne bien, réponse reçue en <1ms
0 votes
Je pensais que firefox pouvait être le problème, mais ça prend 5s même dans IE, donc ça doit être soit un paramètre système ou un paramètre Apache ou des gremlins.
3 votes
A-t-il le même comportement lors de la demande de contenu statique (c'est-à-dire lors du chargement de la page d'accueil) ?
http://localhost/index.html
) ? Si ce n'est pas le cas, il s'agit peut-être d'un problème de PHP et non d'Apache.0 votes
Pouvez-vous vérifier les journaux d'apache ? Voyez-vous l'adresse source du demandeur, est-ce 127.0.0.1 ou l'IP de la machine ? Dans ce dernier cas, il se peut qu'Apache effectue une recherche DNS inverse avant de répondre. Cela vaut la peine de vérifier httpd.conf pour cela.
0 votes
Est-il possible que vous essayiez d'atteindre le serveur à partir d'une boîte locale du réseau local en utilisant
http://hostname.localdomain/project/test.php
? Si c'est le cas, quels serveurs de noms avez-vous configurés sur la machine qui exécute Apache ? Les serveurs de noms locaux ou ceux fournis par le FAI ? Si vous avez deux serveurs de noms sur la machine et que le premier est en panne, Windows ne bascule pas toutes les requêtes suivantes vers le second serveur de noms, il essaiera toujours de se connecter au premier serveur de noms, attendra jusqu'à ce qu'il s'arrête, puis se connectera au second. puis Sonder le deuxième NS. Assurez-vous que tous les serveurs de noms que vous avez spécifiés sont opérationnels. Si ce n'est pas le cas, est-ce que vous utilisez `0 votes
J'ai essayé à la fois localhost et 127.0.0.1 mais aucune différence. Je vais vérifier la directive HostnameLookups.
0 votes
J'ai trouvé ce qui suit dans le journal d'accès : 127.0.0.1 - - [17/Sep/2009:20:17:16 +0200] "GET /index.html HTTP/1.1" 200 132, donc je suppose que tout est correct et que le demandeur est 127.0.0.1.
0 votes
Si vous utilisez un type de CMS, assurez-vous de désactiver l'interrogation DNS inverse dans la base de données.
5 votes
Les réponses nombreuses et variées à cette question montrent qu'il existe des dizaines, voire des centaines de raisons différentes pour lesquelles les demandes de pages peuvent être lentes. Si vous êtes arrivé à cette question parce que vous aussi avez des demandes de pages lentes, vous devrez creuser plus profondément la cause de la lenteur avant de pouvoir obtenir une réponse utile ici.
strace
ytcpdump
sont des outils utiles pour cela.0 votes
Je ne sais pas si cela peut aider, mais lorsque j'ai ajouté une configuration DNS pour la carte réseau du serveur, WAMP est devenu très lent sur l'hôte local (chargement des pages en ~= 30 sec !). Quand j'ai enlevé la configuration DNS, il devient rapide. Essayez de laisser les DNS vides.
0 votes
J'ai une question à poser à tous ceux qui ont posté des solutions impliquant l'ajout ou le remplacement de texte avec
127.0.0.1
: est-ce que cela fonctionne toujours si vous accédez127.0.0.2
,127.1.2.3
et ainsi de suite ou est-ce que le codage en dur127.0.0.1
créer une restriction inutile ?0 votes
Je ne peux pas répondre en raison de ma faible réputation, mais dans mon cas, c'est parce que PHP XDebug était activé. Désactivez-le et les choses iront beaucoup plus vite. J'ai trouvé que PHP XDebug était en cause en vérifiant le journal d'erreurs de PHP, qui contenait un grand nombre d'erreurs XDebug timeout. C:\xampp\apache\logs\error.log