IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Nombre de fichiers Apache excessif ?


Sujet :

Apache

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut Nombre de fichiers Apache excessif ?
    Bonjour,

    J'essaye d'optimiser mon serveur linux, et je me suis aperçu que j'avais énormément de fichier apache d'ouvert a l'état "LISTEN", donc en attente d'un éventuel client ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     lsof -i -n -P | grep http | grep LISTEN | wc -l
    886
    Exemple de fichier ouverts:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    httpd     32510   nobody    3u  IPv6       940       TCP *:80 (LISTEN)
    httpd     32510   nobody    5u  IPv6       949       TCP *:443 (LISTEN)
    httpd     32511   nobody    3u  IPv6       940       TCP *:80 (LISTEN)
    httpd     32511   nobody    5u  IPv6       949       TCP *:443 (LISTEN)
    Pour les ESTABLISHED :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lsof -i -n -P | grep http | grep ESTABLISHED | wc -l
    132
    Le nombre de fichiers a l'état LISTEN n'est t'il pas excessif ?

    Merci beaucoup pour votre aider

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est peut-être parce que ton site a beaucoup de visiteurs. Pour info, les chiffres remontés sont un nombre de descripteurs de fichiers, pas des fichiers. Et dans le monde Unix, un socket est un descripteur de fichiers, donc compte pour un. Théoriquement, tu devrais constater qu'il y a aussi beaucoup de processus httpd qui tournent sur ton serveur (ps -ef | grep httpd).

    Si tu trouves qu'il y a trop de processus tournent et trop de listen, tu devrais pouvoir en réduire le nombre en jouant sur les paramètres Apache MaxClient et les autres paramètres de ce style.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est peut-être parce que ton site a beaucoup de visiteurs. Pour info, les chiffres remontés sont un nombre de descripteurs de fichiers, pas des fichiers. Et dans le monde Unix, un socket est un descripteur de fichiers, donc compte pour un. Théoriquement, tu devrais constater qu'il y a aussi beaucoup de processus httpd qui tournent sur ton serveur (ps -ef | grep httpd).

    Si tu trouves qu'il y a trop de processus tournent et trop de listen, tu devrais pouvoir en réduire le nombre en jouant sur les paramètres Apache MaxClient et les autres paramètres de ce style.
    Il est vraie que j'ai beaucoup de visiteurs.
    nombre de processus apaches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ps -eaf | grep httpd | wc -l
    523
    Stats ovh-status:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Current Time: Saturday, 15-Jun-2013 21:35:49 CEST
    Restart Time: Saturday, 15-Jun-2013 19:16:02 CEST
    Parent Server Generation: 3
    Server uptime: 2 hours 19 minutes 46 seconds
    Total accesses: 2002753 - Total Traffic: 13.4 GB
    CPU Usage: u142.47 s101.49 cu5120.65 cs0 - 64% CPU load
    239 requests/sec - 1.6 MB/second - 7.0 kB/request
    422 requests currently being processed, 106 idle workers

    En fait je cherche a optmise mon serveur, et je sais pas trop par où aller

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Je n'y connais rien, désolé

  5. #5
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Citation Envoyé par omelhor Voir le message
    Il est vraie que j'ai beaucoup de visiteurs.
    nombre de processus apaches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ps -eaf | grep httpd | wc -l
    523
    Ah oui 523 process apache, ça commence à faire.

    Première chose, quel mpm apache utilises-tu ?
    Pour le savoir 2 méthodes :
    - si mpm compilé statiquement : httpd -l
    - si mpm compilé dynamiquement : repérer le LoadModule mpm_<MPM> dans un des fichiers de conf apache

    Une fois fait, il faut récupérer la conf du mpm dans le httpd.conf (généralement) repérable via <ifModule mpm_MonMPM>.....</ifModule>

    et là tu nous l'envoies ;-)

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut
    Citation Envoyé par Marc3001 Voir le message
    Ah oui 523 process apache, ça commence à faire.

    Première chose, quel mpm apache utilises-tu ?
    Pour le savoir 2 méthodes :
    - si mpm compilé statiquement : httpd -l
    - si mpm compilé dynamiquement : repérer le LoadModule mpm_<MPM> dans un des fichiers de conf apache

    Une fois fait, il faut récupérer la conf du mpm dans le httpd.conf (généralement) repérable via <ifModule mpm_MonMPM>.....</ifModule>

    et là tu nous l'envoies ;-)
    A priori si j'ai bien compris, j'ai prefork ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    /usr/local/apache/bin/httpd -l
    Compiled in modules:
      core.c
      mod_authn_file.c
      mod_authn_default.c
      mod_authz_host.c
      mod_authz_groupfile.c
      mod_authz_user.c
      mod_authz_default.c
      mod_auth_basic.c
      mod_include.c
      mod_filter.c
      mod_deflate.c
      mod_log_config.c
      mod_env.c
      mod_expires.c
      mod_headers.c
      mod_setenvif.c
      mod_version.c
      mod_ssl.c
      prefork.c
      http_core.c
      mod_mime.c
      mod_status.c
      mod_autoindex.c
      mod_asis.c
      mod_info.c
      mod_suexec.c
      mod_cgi.c
      mod_negotiation.c
      mod_dir.c
      mod_actions.c
      mod_userdir.c
      mod_alias.c
      mod_rewrite.c
      mod_so.c
    Pour ce qui est de sa config j'ai ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <IfModule prefork.c>
        StartServers          100
        MinSpareServers       50
        MaxSpareServers      150
        MaxRequestsPerChild   1500
    </IfModule>
    Merci beaucoup

  7. #7
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Effectivement tu utilises prefork.

    C'est pas le top niveau perf et conso ressources mais si tu utilises php tu n'as pas trop le choix.

    Commence par lire la doc d'optimisation Apache.

    Après tu peux commencer à regarder du côté de FastCGI. L'idée c'est de décorreller php d'Apache (plus de module Apache).
    Il faut lancer php en mode FastCGI et avoir le module fcgi sur Apache.
    Ca permet de changer ton MPM côté Apache (worker pour du Apache 2.X) et de gagner en perfs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nombre de fichiers dans un répertoire
    Par berry dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 12/11/2005, 17h48
  2. Réponses: 6
    Dernier message: 11/02/2005, 06h41
  3. [MFC] Limitation du nombre de fichiers...
    Par chronos dans le forum MFC
    Réponses: 5
    Dernier message: 02/06/2004, 10h40
  4. limitation nombre de fichiers
    Par bozo dans le forum MFC
    Réponses: 6
    Dernier message: 02/07/2003, 13h44
  5. Nombre de fichiers ouverts simultanément
    Par matrixfan dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/05/2002, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo