Je travaille sur un tout petit projet PHP pour un de mes amis et j'ai un environnement d'installation WAMP pour le développement local. Je me souviens du temps où la réponse de mon Apache 2.2 local était immédiate. Hélas, maintenant que je reviens de très longues vacances, je trouve les réponses localhost
douloureusement lentes.
Il faut environ 5 secondes pour obtenir une page HTML de 300 Ko diffusée.
Lorsque je regarde le gestionnaire de tâches, les httpd
processus (2) utilisent jusqu'à 0% du processeur et, dans l'ensemble, mon ordinateur n'est pas sous charge (0-2% d'utilisation du processeur).
Pourquoi la latence est-elle si élevée? Existe-t-il un paramètre Apache que je pourrais modifier pour que son thread soit exécuté avec une priorité plus élevée ou quelque chose de ce genre? On dirait que c'est simplement dormir avant de servir la réponse.
la source
localhost
résolution est-elle correcte en termes de DNS?ping localhost
devrait revenir instantanément avec127.0.0.1
.http://localhost/index.html
)? Sinon, il pourrait s'agir d'un problème PHP, pas d'un problème Apache.strace
ettcpdump
sont des outils utiles pour cela.Réponses:
Pour moi, le paramétrage de la
ServerName
propriété ahttpd.conf
corrigé les délais (au maximum 10 secondes):la source
If your host doesn't have a registered DNS name, enter its IP address here.
J'ai eu le même problème.
La définition de la redirection de localhost sur 127.0.0.1 dans le fichier hosts n’a pas aidé. L’optimisation du serveur MySQL n’a pas aidé (InnoDB -> MyISAM, modification de nombreuses directives relatives au cache dans my.ini).
Ensuite, j'ai utilisé web webgrind et ai limité le problème à un "nouvel appel PDO (...)". En changeant
à
dans DSN pour PDO complètement résolu le problème ! Le temps de chargement des pages est passé de plus de 3000 ms à 16 ms .
Cependant, je ne comprends vraiment pas pourquoi la ligne "127.0.0.1 localhost" dans le fichier hosts n'a pas aidé.
la source
$link = new PDO('mysql:host=localhost;dbname=dp-ui;charset=utf8');
vers$link = new PDO('mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8');
Le problème était lié au fichier de paramètres principal d'Apache
httpd.conf
.J'ai trouvé ça:
Et je suis donc allé dans les paramètres d'Apache et j'ai vu où était le problème: je l'avais configuré en tant que CGI, au lieu de le charger en tant que module. Cela a provoqué
php-cgi.exe
le démarrage et l’arrêt chaque fois que j’ai fait une demande. Cela ralentissait monlocalhost
développement.J'ai changé les paramètres pour charger PHP en tant que module Apache et maintenant tout fonctionne parfaitement. :)
Merci à tous pour vos efforts.
la source
J'ai eu le même problème et j'ai finalement découvert qu'il provenait de deux faits:
http://myproject.local/
car j'ai mis une ligne127.0.0.1 myproject.local
dans/etc/hosts
Le problème apparaît car le
.local
tld est réservé au service Bonjour, et ce depuis Mac OS X Lion (10.7).Changer le tld pour quelque chose d'autre a résolu le problème.
la source
Vérifiez si
/etc/hosts
est correct. Comme ça:À la place,
****
donnez votre nom d'hôte.la source
127.0.0.1 something.atmy.localhost
demande ajoutée et maintenant ne prend plus 20 secondes. Au lieu de cela, l'apache local répond immédiatement. Je n'en sais pas beaucoup sur les réseaux. Je suppose que le nom de domaine est résolu trop lentement, car quelque chose n’est pas correctement configuré.Dans votre
httpd.conf
être sûr de définir le paramètreHostnameLookups Off
.la source
Au cas où cela aiderait quelqu'un, j’avais ce problème et cela se résumait à une recherche DNS incorrecte .
Le serveur DNS sur le serveur était configuré sur
127.0.0.1
- je l'ai modifié pour utiliser les serveurs DNS publics de Google, ce qui a accéléré le processus.la source
La question a la balise apache-2.2, mais si quelqu'un est également concerné par cette question néfaste également sur WAMP avec Apache 2.4 + PHP 5.5 , la réponse suivante sur SO a fait l'affaire pour moi:
https://stackoverflow.com/a/18786773/260080
la source