Comment déterminer ce qui rend le serveur Web si lent (Apache)

0

J'utilise Apache 2.4 (64 bits) sur un serveur Windows. Il utilise également MySQL 5.7 sur le même serveur.

Ces derniers temps, très, très lentement, mais lorsque je regarde les journaux d'accès, il y a très peu de connexions. Je vois quelques tentatives pour obtenir phpmyadmin et d’autres scripts (dont aucun n’existent), mais pas des centaines de ces requêtes.

Quand j'ai regardé la mémoire que httpd et Mysql consommaient, ils étaient à la fois très bas et stables:

#tasklist
httpd  50,003 K
mysql  205,000 K

Le redémarrage de mysql ne faisait aucune différence en termes de performances ou de mémoire. Mais après avoir redémarré httpd, il faut maintenant 39 000 K en mémoire et le site est à nouveau réactif.

J'ai regardé dans les journaux et je ne vois rien qui sort de l'ordinaire. Alors, comment puis-je déterminer ce qui rend le site si peu réactif?

EDIT Je ne sais pas si cela va aider, mais je vais essayer ce correctif: (mentionné ici: https://superuser.com/a/627251/223518 et ici: https://stackoverflow.com/a / 21033620/857025 )

Ajoutez ce qui suit à httpd.conf et redémarrez httpd:

AcceptFilter http none
AcceptFilter https none
Don Rhummy
la source
vraisemblablement, c'est votre application et non le serveur qui cause le problème. quelle application servez-vous sur httpd?
Frank Thomas
@ FrankThomas Juste un site web écrit en PHP. C'est un site très simple.
Don Rhummy
Je comparerais la rapidité avec laquelle le site sert des fichiers HTML statiques à celle avec un fichier PHP. Vous pouvez essayer de renommer un fichier contenant uniquement du HTML en tant que fichier PHP et de voir s'il est servi lentement.
RedGrittyBrick

Réponses:

-1

Utilisez toppour lister les processus en cours. Vous pouvez trier en fonction de l'utilisation de la mémoire en appuyant sur M(majuscules M) ou en fonction de l'utilisation de l'UC en appuyant sur P(majuscules P). Une fois que vous avez identifié le bouchon de mémoire, vous pouvez utiliser les colonnes PID et COMMAND pour identifier le processus errant.

Madcarrots
la source
1
top est un programme linux
Don Rhummy
1
DOH! superuser.com/questions/176624/… indique comment utiliser PowerShell pour émuler top. Désolé, je vais lire les questions plus attentivement la prochaine fois.
Madcarrots
ok, mais si vous lisez mon post, vous verrez aussi que j'ai déjà vérifié l'utilisation de la mémoire.
Don Rhummy