Je travaille sur une application Web à l'aide de PHP, Apache et MySQL. Au cours de l'année écoulée, les temps de réponse de cette application ont été bons. Soudainement hier, l'application est devenue très lente sur Firefox (charge complète de la page, y compris les fichiers CSS et JavaScript: environ 20 secondes. Pendant la charge de la page, Firefox est totalement inutilisable). Fait intéressant, les temps de réponse dans Internet Explorer étaient un peu plus lents (environ 2 secondes au lieu de <1 seconde). P>
L'étrange chose est: l'application a fonctionné bien il y a deux jours et hors de nulle part est devenu très lent. Je n'ai rien changé dans le Sourcecode. Je n'ai rien changé dans php.ini ou httpd.conf. Je connecte déjà les temps de réponse des fonctions PHP et que les performances n'ont pas changé. P>
Au début, je pensais que cela avait quelque chose à voir avec Firefox, alors j'ai complètement retiré Firefox, redémarrait Windows Vista et a fait une installation propre de Firefox (sans extensions). Pas de résultat. P>
Après avoir testé plusieurs choses, j'ai découvert que lorsque je copie les données de l'application dans un autre dossier de ma racine de document, l'application fonctionne à nouveau. Le problème est résolu que vous pourriez penser, mais il est très énervant que je dois maintenant utiliser une autre URL et (plus important), je ne l'obtiens pas. Pourquoi mon application est-elle très très lente dans un dossier et parfaitement bien dans un autre dossier? P>
a-t-il quelque chose à voir avec Firefox ou avec Apache? Le nom du dossier dans lequel l'application est très lente n'apparaît pas dans php.ini ou httpd.conf. P>
6 Réponses :
Rechercher des zones qui pourraient provoquer un blocage, comme la bombardement pour se boucler ou ouvrir un fichier sur NFS dans le code. Si le système Supprimer est chronométrant, il affectera considérablement les performances Apache lorsque chaque requête lance le serveur pour toutefois plusieurs secondes qu'il prend à TIME et échouez à la demande de retard. P>
Je n'utilise pas NFS et tous les fichiers ont des autorisations correctes. Si ce problème avait quelque chose à voir avec les temps de réponse des temps dans IE serait aussi mauvais que dans FF
Quel est le "supprimer le système" i>? Pouvez-vous ajouter une référence à la réponse?
Quelques suggestions: p>
Installez Fiddler sur le client. Cela vous permettra d'analyser le Trafic HTTP à bas niveau provenant de le serveur. p> li>
extraire certaines des requêtes de votre code PHP et courez-les de manière interactive dans le client MySQL et voir s'ils courent lentement. P> li>
connectez-vous au serveur (ou obtenez un
administrateur système si vous n'avez pas accès)
et exécuter le gestionnaire de tâches (Windows)
ou Il y a un Zend extension appelée
APD que vous pouvez installer sur le
serveur (à nouveau, en supposant que vous avez
droits), et cela profilera votre PHP
code et écrivez un fichier montrant
quelles fonctions sont appelées par
vos scripts PHP sont combien de temps PHP est
dépenses dans chaque fonction. p> li>
ol> haut code> (UNIX) et assurez-vous
Il n'y a rien d'autre enhougissant le
serveur. Si vous n'avez pas changé
quoi que ce soit, peut-être quelque chose d'autre a
changé sur le serveur. En outre, vérifiez
la visionneuse des journaux de serveur / événement. p> li>
J'ai vérifié vos suggestions (sauf pour le premier, et j'ai déjà créé un profileur) mais je n'ai trouvé rien d'inhabituel. Merci pour vos suggestions.
Cela ressemble à une question javascript pour moi. Une demande PHP ne ferait pas Firefox inutilisable alors qu'un script JavaScript errant pourrait très facilement faire cela. P>
Désactiver JS n'entre aucune différence. J'ai également supprimé tous les JS de la source de page qui n'avait aucune différence.
Avez-vous changé de paramètres réseau dans votre configuration de développement récemment? Si tel est le cas, vous pourriez rencontrer l'un des bugs ipv6
Je n'ai pas changé de paramètres réseau récemment. Juste pour être sûr que j'ai changé le cadre mais pas de changement. Merci pour votre suggestion.
J'ai eu le même problème. Soudainement, même des sites simples ont pris environ 5 minutes à charger.
Cause: strong> p> paramètre incorrect dans mon Je devais supprimer cette ligne (ou la définir): p> puis redémarrez votre service WebServer. P> p> php.ini code> p>
+1 Vous pouvez seulement ajouter ";" Au début de la ligne ou changez "sur" à "OFF" au cas où vous auriez besoin récemment pour déboguer votre script avec XDebug.
Il est encore préférable de ne pas charger Xdebug si non requis. J'avais des problèmes terribles ralentissement et l'élimination de l'extension a complètement résolu le problème pour moi. Voir Stackoverflow.com/a/8754934/7268183
Assurez-vous de ne pas avoir oublié la signale $ avant toute variable à l'intérieur de certaines boucles car Apache Créez un fichier d'erreur de journal pour chaque itération et vous manquez d'espace disque. Corrigez votre script et supprimez les fichiers journaux peuvent résoudre votre problème. P>
Avez-vous un dossier / sous-dossier avec une quantité insensée de fichiers de petit / temp / temp??
J'ai vérifié tous les dossiers mais je n'ai pas vu des quantités insensées de fichiers ni de dossiers (sous).
1: Quel est le temps de réponse dans IE lorsque FF le fait dans 20 secondes? 2: Utilisez-vous localhost / dossier ou un hôte virtuel à Apache?