Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Linux.general : process apache gourmand

Posté par malakof () le 22 avril 2008

bonjours a tous,

en faisant un ps -aux sur mon serveur web (c'est une redhat el5 avec apache 2 et php 5.2.5) je m'appercois que j'ai 4 process httpd qui apparement utilisent 14%, 15%, 11%, 10% du cpu, en plus des autres. comment puis je m'y prendre pour savoir qu'est ce qui fait que ces process utilisent autant le cpu? j'ai 4 sites web qui sont sur ce serveur.

> Lire le message (10 commentaires, moyenne: 1,5).  

Vous avez demandé le commentaire #925307.

mod_status

Posté par Sébastien Koechlin () le 22/04/2008 à 18:17. (lien). Évalué à 2.

Tu peux faire deux choses:

Activer mod_status et aller sur la page dynamique générée par le module pour voir quels sont les requêtes en cours.

Configurer les logs pour tracer le temps de service de chaque requête, et ensuite faire une petite analyse pour déterminé quels sont les pages qui demandent beaucoup de temps.

  • [^]Re: mod_status

    Posté par malakof () le 23/04/2008 à 09:26. (lien). Évalué à 1.

    selon toi ça pourait venir d'une requete qui prend trop de temps ?

    j'ai activé le mod_status.c'est plutot pas mal. par contre pour tracer le temps de service des requetes j'ai un doute. je dois ajouter %T dans LogFormat ou %t ?
    selon la doc %T me semble aproprié mais j'ai un doute.

    • [^]Re: mod_status

      Posté par Sébastien Koechlin () le 24/04/2008 à 10:52. (lien). Évalué à 2.

      Apache est plutôt d'excellente qualité, je n'ai jamais vu ce genre de problème.

      Par contre, les boulets applicatifs, on en trouve des milliers partout sur le net: PHP qui n'a pas de contexte d'application ou global, application Java qui consomme des tonnes de mémoire ou qui ont des fuites mémoire, scripts PHP mal fichus...

      Donc a vu de nez avec les faibles informations que tu nous donnes, je dirais: application PHP mal fichue qui consomme beaucoup de CPU.

      Repérer les pages qui demandent beaucoup de temps à être servies devraient permettre de retrouver le script fautif.

      [^]Re: mod_status

      Posté par Sébastien Koechlin () le 24/04/2008 à 19:35. (lien). Évalué à 2.

      Je viens de faire un tour dans la doc pour le boulot, et j'ai pensé à toi.

      http://httpd.apache.org/docs/2.0/mod/mod_log_config.html

      %D: The time taken to serve the request, in microseconds.
      %T: The time taken to serve the request, in seconds.

      Donc je pense que c'est %D et non %T.

      %t n'a rien à voir, ça trace la date à laquelle a eu lieu la requête.

    [^]Re: mod_status

    Posté par malakof () le 28/04/2008 à 12:38. (lien). Évalué à 1.

    hello,

    alors pour en revenir a mon prob, c'etait plutot pas mal ton idée de loguer le temps de service des requetes. en metant mes logs dans un fichier excel et en reorganisant la colone correspondant au temps de service des requetes je me suis appercu que certainne requetes prenaient plus de 600 secs (oui oui 600).
    en copinant ces requetes plusieur fois dans un navigateur, j'arrive a reproduire mon probleme. maintenant reste plus qu'a voir avec les dev ce que fout cette p... de requette. je pense qu'il y a 90% de chance que le probleme vienne de là.
    en tout cas merci pour votre aide :)