Blame docs/manual/mod/mpm_common.html.fr.utf8

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
Packit 90a5c9
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>mpm_common - Serveur HTTP Apache Version 2.4</title>
Packit 90a5c9
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
Packit 90a5c9
<script src="../style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body>
Packit 90a5c9
Packit 90a5c9

Modules | Directives | FAQ | Glossaire | Plan du site

Packit 90a5c9

Serveur HTTP Apache Version 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules
Packit 90a5c9
Packit 90a5c9

Apache MPM : Directives Communes

Packit 90a5c9
Packit 90a5c9

Langues Disponibles:  de  |

Packit 90a5c9
 en  |
Packit 90a5c9
 fr  |
Packit 90a5c9
 ja  |
Packit 90a5c9
 tr 

Packit 90a5c9
Packit 90a5c9
Description:Une série de directives implémentées par plusieurs
Packit 90a5c9
modules multi-processus (MPM)
Packit 90a5c9
Statut:MPM
Packit 90a5c9
Packit 90a5c9
Support Apache!

Directives

Packit 90a5c9
    Packit 90a5c9
  • CoreDumpDirectory
  • Packit 90a5c9
  • EnableExceptionHook
  • Packit 90a5c9
  • GracefulShutdownTimeout
  • Packit 90a5c9
  • Listen
  • Packit 90a5c9
  • ListenBackLog
  • Packit 90a5c9
  • ListenCoresBucketsRatio
  • Packit 90a5c9
  • MaxConnectionsPerChild
  • Packit 90a5c9
  • MaxMemFree
  • Packit 90a5c9
  • MaxRequestWorkers
  • Packit 90a5c9
  • MaxSpareThreads
  • Packit 90a5c9
  • MinSpareThreads
  • Packit 90a5c9
  • PidFile
  • Packit 90a5c9
  • ReceiveBufferSize
  • Packit 90a5c9
  • ScoreBoardFile
  • Packit 90a5c9
  • SendBufferSize
  • Packit 90a5c9
  • ServerLimit
  • Packit 90a5c9
  • StartServers
  • Packit 90a5c9
  • StartThreads
  • Packit 90a5c9
  • ThreadLimit
  • Packit 90a5c9
  • ThreadsPerChild
  • Packit 90a5c9
  • ThreadStackSize
  • Packit 90a5c9
    Packit 90a5c9

    Traitement des bugs

    Voir aussi

    Packit 90a5c9
      Packit 90a5c9
    • Commentaires
    • Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      Description:Le répertoire dans lequel le serveur HTTP Apache va tenter de se
      Packit 90a5c9
      positionner avant d'effectuer un vidage mémoire
      Packit 90a5c9
      Syntaxe:CoreDumpDirectory répertoire
      Packit 90a5c9
      Défaut:Voir ci-dessous pour le répertoire par défaut
      Packit 90a5c9
      Contexte:configuration globale
      Packit 90a5c9
      Statut:MPM
      Packit 90a5c9
      Module:event, worker, prefork
      Packit 90a5c9
      Packit 90a5c9
          

      Cette directive permet de définir le répertoire dans lequel

      Packit 90a5c9
          Apache httpd va tenter de se positionner avant d'effectuer un vidage
      Packit 90a5c9
          mémoire sur disque.
      Packit 90a5c9
          Si votre système d'exploitation est configuré pour créer des
      Packit 90a5c9
          fichiers de vidage mémoire dans le répertoire de travail des
      Packit 90a5c9
          processus qui se sont crashés,
      Packit 90a5c9
          CoreDumpDirectory est nécessaire pour
      Packit 90a5c9
          définir un répertoire de travail autre que le répertoire par défaut
      Packit 90a5c9
          ServerRoot, ce répertoire de
      Packit 90a5c9
          travail ne devant pas être accessible en écriture par l'utilisateur sous
      Packit 90a5c9
          lequel le serveur s'exécute.

      Packit 90a5c9
      Packit 90a5c9
          

      Si vous avez besoin d'un vidage mémoire pour le débogage, vous

      Packit 90a5c9
          pouvez utiliser cette directive pour le placer à un endroit
      Packit 90a5c9
          différent. Cette directive n'a aucun effet si votre système
      Packit 90a5c9
          d'exploitation n'est pas configuré pour créer des
      Packit 90a5c9
          fichiers de vidage mémoire dans le répertoire de travail des
      Packit 90a5c9
          processus qui se sont crashés.

      Packit 90a5c9
      Packit 90a5c9
          

      Vidages mémoire sous Linux

      Packit 90a5c9
            

      Si Apache httpd est démarré sous l'utilisateur root puis bascule vers

      Packit 90a5c9
            un autre utilisateur, le noyau Linux désactive les
      Packit 90a5c9
            vidages mémoire, même si le répertoire est accessible en écriture au
      Packit 90a5c9
            processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
      Packit 90a5c9
            vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous
      Packit 90a5c9
            définissez une directive CoreDumpDirectory.

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          
      Packit 90a5c9
          

      Vidages mémoire sous BSD

      Packit 90a5c9
          

      Pour activer le vidage mémoire des exécutables suid sur les

      Packit 90a5c9
          systèmes de style BSD (comme FreeBSD), définissez
      Packit 90a5c9
          kern.sugid_coredump à 1.
      Packit 90a5c9
          

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
          

      Signaux spécifiques

      Packit 90a5c9
            

      CoreDumpDirectory n'est traité qu'à la

      Packit 90a5c9
            reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT,
      Packit 90a5c9
            SIGSEGV, et SIGBUS.

      Packit 90a5c9
            

      Packit 90a5c9
            Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
      Packit 90a5c9
            vidage mémoire, mais n'est pas traité par les directives
      Packit 90a5c9
            CoreDumpDirectory ou
      Packit 90a5c9
            EnableExceptionHook, si bien que la
      Packit 90a5c9
            définition du répertoire d'enregistrement du vidage mémoire est
      Packit 90a5c9
            entièrement dévolue au système d'exploitation.

      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      Description:Active un hook ("point d'accrochage logiciel") qui exécute des
      Packit 90a5c9
      gestionnaires d'exception après un crash
      Packit 90a5c9
      Syntaxe:EnableExceptionHook On|Off
      Packit 90a5c9
      Défaut:EnableExceptionHook Off
      Packit 90a5c9
      Contexte:configuration globale
      Packit 90a5c9
      Statut:MPM
      Packit 90a5c9
      Module:event, worker, prefork
      Packit 90a5c9
      Packit 90a5c9
          

      Pour des raisons de sécurité, cette directive n'est disponible

      Packit 90a5c9
          que si la compilation du serveur a été configurée avec l'option
      Packit 90a5c9
          --enable-exception-hook. Elle permet d'activer un hook
      Packit 90a5c9
          ("point d'accrochage logiciel")
      Packit 90a5c9
          qui autorise certains modules externes à effectuer un branchement et
      Packit 90a5c9
          accomplir telle ou telle action après le crash d'un processus
      Packit 90a5c9
          enfant.

      Packit 90a5c9
      Packit 90a5c9
          

      Deux modules, mod_whatkilledus et

      Packit 90a5c9
          mod_backtrace utilisent ce hook. Veuillez vous
      Packit 90a5c9
          référer à la page EnableExceptionHook de Jeff Trawick pour plus
      Packit 90a5c9
          d'informations à leur sujet.

      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      Description:Spécifie le délai maximum après lequel le serveur va
      Packit 90a5c9
      s'arrêter dans le cas d'un arrêt "en douceur"
      Packit 90a5c9
      Syntaxe:GracefulShutdownTimeout seconds
      Packit 90a5c9
      Défaut:GracefulShutdownTimeout 0
      Packit 90a5c9
      Contexte:configuration globale
      Packit 90a5c9
      Statut:MPM
      Packit 90a5c9
      Module:event, worker, prefork
      Packit 90a5c9
      Compatibilité:Disponible dans les versions 2.2 et supérieures
      Packit 90a5c9
      Packit 90a5c9
          

      La directive GracefulShutdownTimeout

      Packit 90a5c9
          permet de spécifier le temps, en secondes, pendant lequel le serveur
      Packit 90a5c9
          va continuer à fonctionner après avoir reçu un signal
      Packit 90a5c9
          "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement
      Packit 90a5c9
          des connexions en cours.

      Packit 90a5c9
      Packit 90a5c9
          

      Définir cette valeur à zéro signifie au serveur d'attendre

      Packit 90a5c9
          jusqu'à ce que toutes les requêtes en cours aient été traitées.

      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
      Description:Les adresses IP et ports sur lesquels le serveur écoute
      Packit 90a5c9
      Syntaxe:Listen [adresse IP:]numéro port
      Packit 90a5c9
      [protocole]
      Packit 90a5c9
      Contexte:configuration globale
      Packit 90a5c9
      Statut:MPM
      Packit 90a5c9
      Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
      Packit 90a5c9
      Compatibilité:L'argument protocole est supporté depuis la version
      Packit 90a5c9
      2.1.5
      Packit 90a5c9
      Packit 90a5c9
          

      La directive Listen permet de signifier à

      Packit 90a5c9
          Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par
      Packit 90a5c9
          défaut, le serveur répond aux requêtes en provenance de toutes les
      Packit 90a5c9
          interfaces réseau. La directive Listen est
      Packit 90a5c9
          dorénavant requise, et si elle est absente du fichier de
      Packit 90a5c9
          configuration, le serveur refusera de démarrer. Ceci constitue un
      Packit 90a5c9
          changement par rapport aux versions précédentes d'Apache httpd.

      Packit 90a5c9
      Packit 90a5c9
          

      La directive Listen signifie au serveur de

      Packit 90a5c9
          n'accepter les requêtes entrantes que vers le port ou le couple
      Packit 90a5c9
          adresse-port spécifié. Si seulement un port est spécifié, le serveur
      Packit 90a5c9
          se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP
      Packit 90a5c9
          et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur
      Packit 90a5c9
          l'interface réseau correspondant à l'adresse IP.

      Packit 90a5c9
      Packit 90a5c9
          

      On peut utiliser autant de directives

      Packit 90a5c9
          Listen que nécessaire pour spécifier
      Packit 90a5c9
          plusieurs adresses et/ou ports à écouter. Le serveur répondra aux
      Packit 90a5c9
          requêtes vers tous les adresses et ports spécifiés.

      Packit 90a5c9
      Packit 90a5c9
          

      Par exemple, pour que le serveur accepte les connexions sur les

      Packit 90a5c9
          ports 80 et 8000, utilisez :

      Packit 90a5c9
      Packit 90a5c9
          
      Listen 80
      Packit 90a5c9
      Listen 8000
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
          

      Pour que le serveur accepte les connexions sur deux interfaces et

      Packit 90a5c9
          ports particuliers, spécifiez :

      Packit 90a5c9
      Packit 90a5c9
          
      Listen 192.170.2.1:80
      Packit 90a5c9
      Listen 192.170.2.5:8000
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
          

      Les adressee IPv6 doivent être entourées de crochets, comme dans

      Packit 90a5c9
          l'exemple suivant :

      Packit 90a5c9
      Packit 90a5c9
          
      Listen [2001:db8::a00:20ff:fea7:ccea]:80
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
          

      L'argument optionnel protocole n'est pas nécessaire

      Packit 90a5c9
          dans la plupart des configurations. S'il est absent,
      Packit 90a5c9
          https est la valeur par défaut pour le port 443 et
      Packit 90a5c9
          http l'est pour tous les autres ports. L'argument
      Packit 90a5c9
          protocole sert à déterminer quel module doit traiter une requête, et
      Packit 90a5c9
          à appliquer des optimisations spécifiques à certains protocoles à
      Packit 90a5c9
          l'aide de la directive AcceptFilter.

      Packit 90a5c9
      Packit 90a5c9
          

      La spécification d'un protocole n'est nécessaire que si vous

      Packit 90a5c9
          utilisez des ports non standards. Par exemple, pour configurer un
      Packit 90a5c9
          site en https sur le port 8443 :

      Packit 90a5c9
      Packit 90a5c9
          
      Listen 192.170.2.1:8443 https
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9
          

      Condition d'erreur

      Packit 90a5c9
            Plusieurs directives Listen pour les mêmes
      Packit 90a5c9
            adresse IP/port vont provoquer l'envoi d'un message d'erreur
      Packit 90a5c9
            Address already in use.
      Packit 90a5c9
          
      Packit 90a5c9
      Packit 90a5c9
      Packit 90a5c9

      Voir aussi

      Packit 90a5c9
        Packit 90a5c9
      • Problèmes avec DNS
      • Packit 90a5c9
      • Définition des adresses et ports
      • Packit 90a5c9
        qu'utilise le serveur HTTP Apache
        Packit 90a5c9
      • Autre
      • Packit 90a5c9
        discussion à propos du message d'erreur Address already in
        Packit 90a5c9
        use, citant d'autres causes possibles.
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Longueur maximale de la liste d'attente des
        Packit 90a5c9
        connexions
        Packit 90a5c9
        Syntaxe:ListenBacklog backlog
        Packit 90a5c9
        Défaut:ListenBacklog 511
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
        Packit 90a5c9
        Packit 90a5c9
            

        La longueur maximale de la liste d'attente des connexions. En

        Packit 90a5c9
            général, aucune modification n'est nécessaire, ni même souhaitable ;
        Packit 90a5c9
            cependant, sur certains systèmes, il peut être nécessaire
        Packit 90a5c9
            d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en
        Packit 90a5c9
            masse de requêtes SYN pour saturer le serveur). Voir le paramètre
        Packit 90a5c9
            backlog de l'appel système listen(2).

        Packit 90a5c9
        Packit 90a5c9
            

        En fait, l'argument backlog sera souvent limité à une valeur

        Packit 90a5c9
            inférieure en fonction du système d'exploitation. Notez aussi que de
        Packit 90a5c9
            nombreux systèmes d'exploitation ne tiennent pas vraiment compte de
        Packit 90a5c9
            la valeur spécifiée pour l'argument backlog, mais s'en inspirent
        Packit 90a5c9
            seulement (et choisissent en général une valeur supérieure).

        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Rapport entre le nombre de coeurs de processeur activés et
        Packit 90a5c9
        le nombre de segments d'écoute
        Packit 90a5c9
        Syntaxe:ListenCoresBucketsRatio ratio
        Packit 90a5c9
        Défaut:ListenCoresBucketsRatio 0 (disabled)
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, prefork
        Packit 90a5c9
        Compatibilité:Disponible à partir de la version 2.4.13 du serveur HTTP
        Packit 90a5c9
        Apache, avec un noyau supportant l'option de socket
        Packit 90a5c9
        SO_REUSEPORT, et distribuant uniformément les nouvelles
        Packit 90a5c9
        connexions aux sockets d'écoute des processus (ou threads) qui
        Packit 90a5c9
        l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
        Packit 90a5c9
        l'implémentation courante de SO_REUSEPORT par les
        Packit 90a5c9
        plateformes de type BSD.
        Packit 90a5c9
        Packit 90a5c9
            

        Vous pouvez utiliser la directive

        Packit 90a5c9
            ListenCoresBucketsRatio pour spécifier un
        Packit 90a5c9
            ratio entre le nombre de coeurs de CPU activés et le
        Packit 90a5c9
            nombre de segments d'écoute (listeners' buckets) souhaités ; le
        Packit 90a5c9
            serveur HTTP Apache va alors créernum_cpu_cores / ratio
        Packit 90a5c9
            segments d'écoute, chacun contenant son propre socket d'écoute
        Packit 90a5c9
            Listen sur le ou les mêmes ports ; chaque
        Packit 90a5c9
            processus enfant sera associé à un seul segment d'écoute (avec une
        Packit 90a5c9
            distribution de type round-robin des segments à la création des
        Packit 90a5c9
            processus enfants).

        Packit 90a5c9
        Packit 90a5c9
            

        Définition du terme coeur de CPU activé ("online")

        Packit 90a5c9
            

        Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si Hotplug

        Packit 90a5c9
            a été configuré ; la directive
        Packit 90a5c9
            ListenCoresBucketsRatio doit donc tenir compte de ce
        Packit 90a5c9
            paramètre pour calculer le nombre de segments d'écoute à créer.

        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        La directive ListenCoresBucketsRatio peut

        Packit 90a5c9
            améliorer le support de la montée en charge lorsque l'arrivée de
        Packit 90a5c9
            nouvelles connexions est/devient un goulot d'étranglement. Le test
        Packit 90a5c9
            de cette fonctionnalité avec des machines possédant un nombre de
        Packit 90a5c9
            coeurs de CPU important a permit de constater une amélioration des
        Packit 90a5c9
            performances significative et des temps de réponse plus courts.

        Packit 90a5c9
        Packit 90a5c9
            

        Pour que cette fonctionnalité soit activée, le nombre de coeurs

        Packit 90a5c9
            de CPU doit être égal au moins au double du ratio
        Packit 90a5c9
            spécifié. Si vous spécifiez la valeur recommandée pour
        Packit 90a5c9
            ratio, à savoir 8, le nombre minimum de
        Packit 90a5c9
            coeurs de processeurs disponibles sera alors de 16. La valeur
        Packit 90a5c9
            optimale de ratio permettant d'obtenir des performances maximales
        Packit 90a5c9
            doit être calculée pour chaque système cible, en testant plusieurs valeurs
        Packit 90a5c9
            et en observant les résultats.

        Packit 90a5c9
        Packit 90a5c9
            

        Cette directive influence le calcul des valeurs limites inférieures de

        Packit 90a5c9
            MinSpareThreads et MaxSpareThreads. En effet, pour accepter les
        Packit 90a5c9
            connexions de manière optimale, le nombre de processus enfants doit être un
        Packit 90a5c9
            multiple du nombre de segments d'écoute.

        Packit 90a5c9
        Packit 90a5c9
            
        Packit 90a5c9
            

        Cas où plusieurs Listeners ou serveurs HTTP

        Packit 90a5c9
            Apache partagent la même adresse IP et port
        Packit 90a5c9
            

        La définition de l'option SO_REUSEPORT pour les sockets

        Packit 90a5c9
            d'écoute permet à plusieurs processus (partageant le même EUID,
        Packit 90a5c9
            par exemple root) de se rattacher à la même adresse IP et port,
        Packit 90a5c9
            sans obtenir l'erreur de rattachement que le système génère habituellement
        Packit 90a5c9
            lorsque ce cas se produit.

        Packit 90a5c9
            

        Cela signifie aussi que plusieurs instances d'Apache httpd configurées

        Packit 90a5c9
            avec le même IP:port et avec une valeur
        Packit 90a5c9
            ListenCoresBucketsRatio positive pourraient démarrer
        Packit 90a5c9
            sans erreur, et fonctionner ensuite avec une répartition uniforme des
        Packit 90a5c9
            connexions entrantes sur ces différentes instances (ce n'est PAS une
        Packit 90a5c9
            recommandation et ne constitue pas un usage approprié à tous les cas, mais
        Packit 90a5c9
            juste un avertissement sur le fait qu'un véritable problème de rattachement
        Packit 90a5c9
            multiple à un IP:port pourrait alors être occulté).

        Packit 90a5c9
            

        Au sein d'une même instance, Apache httpd vérifie la présence de

        Packit 90a5c9
            directives Listen multiples avec la même adresse IP
        Packit 90a5c9
            (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce
        Packit 90a5c9
            qui permet d'éviter la création de segments d'écoute dupliqués qui seraient
        Packit 90a5c9
            du coup inutiles et affecteraient les performances. Cependant, il ne peut
        Packit 90a5c9
            pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de
        Packit 90a5c9
            recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée
        Packit 90a5c9
            quelque part ailleurs).

        Packit 90a5c9
            
        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Limite le nombre de connexions qu'un processus enfant va
        Packit 90a5c9
        traiter au cours de son fonctionnement
        Packit 90a5c9
        Syntaxe:MaxConnectionsPerChild number
        Packit 90a5c9
        Défaut:MaxConnectionsPerChild 0
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
        Packit 90a5c9
        Compatibilité:Disponible depuis la version 2.3.9 du serveur HTTP
        Packit 90a5c9
        Apache. L'ancien nom MaxRequestsPerChild est encore
        Packit 90a5c9
        supporté.
        Packit 90a5c9
        Packit 90a5c9
            

        La directive MaxConnectionsPerChild permet de

        Packit 90a5c9
            définir le nombre maximum de connexions qu'un processus enfant va
        Packit 90a5c9
            pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité
        Packit 90a5c9
            MaxConnectionsPerChild connexions, le processus
        Packit 90a5c9
            enfant est arrêté. Si MaxConnectionsPerChild est
        Packit 90a5c9
            définie à 0, il n'y a plus aucune limite sur le nombre
        Packit 90a5c9
            de connexions que le processus pourra traiter.

        Packit 90a5c9
        Packit 90a5c9
            

        Définir MaxConnectionsPerChild à une valeur

        Packit 90a5c9
            non nulle limite la quantité de mémoire qu'un processus peut
        Packit 90a5c9
            consommer à cause de fuites (accidentelles) de mémoire.

        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Quantité maximale de mémoire que l'allocateur principal est
        Packit 90a5c9
        autorisé à conserver sans appeler free()
        Packit 90a5c9
        Syntaxe:MaxMemFree KOctets
        Packit 90a5c9
        Défaut:MaxMemFree 2048
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, prefork, mpm_winnt, mpm_netware
        Packit 90a5c9
        Packit 90a5c9
            

        La directive MaxMemFree permet de définir

        Packit 90a5c9
            le nombre maximum de KOctets libres que tout allocateur est
        Packit 90a5c9
            autorisé à conserver sans appeler free(). Dans les MPMs
        Packit 90a5c9
            threadés, chaque thread possède son propre allocateur. Si elle est
        Packit 90a5c9
            définie à 0, la quantité de mémoire libre que peut conserver un
        Packit 90a5c9
            allocateur est illimitée.

        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Nombre maximum de connexions pouvant être traitées
        Packit 90a5c9
        simultanément
        Packit 90a5c9
        Syntaxe:MaxRequestWorkers nombre
        Packit 90a5c9
        Défaut:Voir ci-dessous pour plus de détails
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, prefork
        Packit 90a5c9
        Packit 90a5c9
            

        La directive MaxRequestWorkers permet de fixer le

        Packit 90a5c9
            nombre maximum de requêtes pouvant être traitées simultanément.
        Packit 90a5c9
            Si la limite MaxRequestWorkers est atteinte, toute
        Packit 90a5c9
            tentative de connexion sera normalement mise dans une file
        Packit 90a5c9
            d'attente, et ceci jusqu'à un certain nombre dépendant de la
        Packit 90a5c9
            directive ListenBacklog.
        Packit 90a5c9
            Lorsqu'un processus enfant se libèrera suite à la fin du traitement
        Packit 90a5c9
            d'une requête, la connexion en attente pourra être traitée à son
        Packit 90a5c9
            tour.

        Packit 90a5c9
        Packit 90a5c9
            

        Pour les serveurs non threadés (c'est à dire utilisant

        Packit 90a5c9
            prefork), la directive
        Packit 90a5c9
            MaxRequestWorkers définit alors le nombre maximum de
        Packit 90a5c9
            processus enfants qui pourront être lancés simultanément pour
        Packit 90a5c9
            traiter les requêtes. La valeur par défaut est 256 ; si
        Packit 90a5c9
            vous l'augmentez, vous devez aussi augmenter la valeur de la
        Packit 90a5c9
            directive ServerLimit.

        Packit 90a5c9
        Packit 90a5c9
            

        Pour les serveur threadés et hybrides (utilisant par

        Packit 90a5c9
            exemple event ou worker),
        Packit 90a5c9
            MaxRequestWorkers définit alors le nombre total de
        Packit 90a5c9
            threads qui seront disponibles pour servir les clients. Dans le
        Packit 90a5c9
            cas des MPMs hybrides, la valeur par défaut est 16
        Packit 90a5c9
            (directive ServerLimit) multiplié par la valeur
        Packit 90a5c9
            25 (directive ThreadsPerChild). Par conséquent, pour affecter à la
        Packit 90a5c9
            directive MaxRequestWorkers une valeur qui requiert
        Packit 90a5c9
            plus de 16 processus, vous devez aussi augmenter la valeur de la
        Packit 90a5c9
            directive ServerLimit.

        Packit 90a5c9
        Packit 90a5c9
            

        Le nom de la directive MaxRequestWorkers

        Packit 90a5c9
            était MaxClients avant la version 2.3.13. Cet
        Packit 90a5c9
            ancien nom est encore supporté.

        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        top
        Packit 90a5c9
        Packit 90a5c9
        Packit 90a5c9
        Description:Nombre maximum de threads inactifs
        Packit 90a5c9
        Syntaxe:MaxSpareThreads nombre
        Packit 90a5c9
        Défaut:Voir ci-dessous pour plus de détails
        Packit 90a5c9
        Contexte:configuration globale
        Packit 90a5c9
        Statut:MPM
        Packit 90a5c9
        Module:event, worker, mpm_netware, mpmt_os2
        Packit 90a5c9
        Packit 90a5c9
            

        C'est le nombre maximum de threads inactifs. Les MPMs utilisent

        Packit 90a5c9
            cette directive de différentes manières.

        Packit 90a5c9
        Packit 90a5c9
            

        Pour worker et event, la définition par défaut est

        Packit 90a5c9
            MaxSpareThreads 250. Ce MPM gère les threads inactifs
        Packit 90a5c9
            au niveau du serveur. Si le serveur possède trop de threads
        Packit 90a5c9
            inactifs, des processus enfants seront arrêtés jusqu'à ce que le
        Packit 90a5c9
            nombre de threads inactifs repasse en dessous de cette limite. Des
        Packit 90a5c9
            processus/threads supplémentaires sont susceptibles d'être créés si
        Packit 90a5c9
            ListenCoresBucketsRatio est
        Packit 90a5c9
            activée.

        Packit 90a5c9
        Packit 90a5c9
            

        Pour mpm_netware, la définition par défaut est

        Packit 90a5c9
            MaxSpareThreads 100. Comme ce MPM n'exécute qu'un seul
        Packit 90a5c9
            processus, le nombre de processus inactifs est surveillé au
        Packit 90a5c9
            niveau du serveur.

        Packit 90a5c9
        Packit 90a5c9
            

        mpmt_os2 fonctionne de manière similaire à

        Packit 90a5c9
            mpm_netware. Pour mpmt_os2, la
        Packit 90a5c9
            valeur par défaut est 10.

        Packit 90a5c9
        Packit 90a5c9
            

        Contraintes

        Packit 90a5c9
              

        La gamme de valeurs pour MaxSpareThreads

        Packit 90a5c9
              est limitée. Apache httpd corrigera automatiquement cette valeur selon
        Packit 90a5c9
              les règles suivantes :

        Packit 90a5c9
              
          Packit 90a5c9
                  
        • Avec mpm_netware, MaxSpareThreads doit être supérieure à MinSpareThreads.
        • Packit 90a5c9
          Packit 90a5c9
                  
        • Avec
        • Packit 90a5c9
          	worker et event, MaxSpareThreads
          Packit 90a5c9
          	doit être supérieure ou égale à la somme de MinSpareThreads et ThreadsPerChild.
          Packit 90a5c9
                
          Packit 90a5c9
              
          Packit 90a5c9
          Packit 90a5c9

          Voir aussi

          Packit 90a5c9
            Packit 90a5c9
          • MinSpareThreads
          • Packit 90a5c9
          • StartServers
          • Packit 90a5c9
          • MaxSpareServers
          • Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9
            top
            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9
            Description:Nombre minimum de threads inactifs qui seront disponibles
            Packit 90a5c9
            pour pouvoir traiter les pics de requêtes
            Packit 90a5c9
            Syntaxe:MinSpareThreads nombre
            Packit 90a5c9
            Défaut:Voir ci-dessous pour plus de détails
            Packit 90a5c9
            Contexte:configuration globale
            Packit 90a5c9
            Statut:MPM
            Packit 90a5c9
            Module:event, worker, mpm_netware, mpmt_os2
            Packit 90a5c9
            Packit 90a5c9
                

            C'est le nombre minimum de threads inactifs pour être en mesure

            Packit 90a5c9
                de traiter les pics de requêtes. Les MPMs utilisent cette directive
            Packit 90a5c9
                de différentes manières.

            Packit 90a5c9
            Packit 90a5c9
                

            Avec worker et event, la définition par défaut est

            Packit 90a5c9
                MinSpareThreads 75, et le nombre de threads inactifs
            Packit 90a5c9
                est surveillé au niveau du serveur. Si le serveur ne possède pas
            Packit 90a5c9
                assez de threads inactifs, des processus enfants sont créés jusqu'à
            Packit 90a5c9
                ce que le nombre de threads inactifs repasse au dessus de
            Packit 90a5c9
                nombre. Des processus/threads supplémentaires peuvent
            Packit 90a5c9
                être créés si ListenCoresBucketsRatio est activée.

            Packit 90a5c9
            Packit 90a5c9
                

            Avec mpm_netware, la définition par défaut est

            Packit 90a5c9
                MinSpareThreads 10 et, comme ce MPM n'exécute qu'un
            Packit 90a5c9
                seul processus, le nombre de threads est surveillé au niveau du
            Packit 90a5c9
                serveur.

            Packit 90a5c9
            Packit 90a5c9
                

            mpmt_os2 fonctionne de manière similaire à

            Packit 90a5c9
                mpm_netware. Pour mpmt_os2, la
            Packit 90a5c9
                valeur par défaut est 5.

            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9

            Voir aussi

            Packit 90a5c9
              Packit 90a5c9
            • MaxSpareThreads
            • Packit 90a5c9
            • StartServers
            • Packit 90a5c9
            • MinSpareServers
            • Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              top
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              Description:Ficher dans lequel le serveur enregistre l'identificateur
              Packit 90a5c9
              de processus du démon
              Packit 90a5c9
              Syntaxe:PidFile nom fichier
              Packit 90a5c9
              Défaut:PidFile logs/httpd.pid
              Packit 90a5c9
              Contexte:configuration globale
              Packit 90a5c9
              Statut:MPM
              Packit 90a5c9
              Module:event, worker, prefork, mpm_winnt, mpmt_os2
              Packit 90a5c9
              Packit 90a5c9
                  

              La directive PidFile permet de définir le

              Packit 90a5c9
                  ficher dans lequel le serveur
              Packit 90a5c9
                  enregistre l'identificateur de processus du démon. Si le chemin du
              Packit 90a5c9
                  fichier n'est pas absolu, il est considéré comme relatif au chemin
              Packit 90a5c9
                  défini par la directive ServerRoot.

              Packit 90a5c9
              Packit 90a5c9
                  

              Exemple

              PidFile /var/run/apache.pid
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
                  

              Il est souvent utile de pouvoir envoyer un signal au

              Packit 90a5c9
                  serveur afin qu'il ferme et ouvre à nouveau ses journaux
              Packit 90a5c9
                  d'erreur et de transfert, et recharge son
              Packit 90a5c9
                  fichier de configuration. Pour ce faire, on envoie un signal SIGHUP
              Packit 90a5c9
                  (kill -1) à l'identificateur de processus enregistré dans le fichier
              Packit 90a5c9
                  défini par la directive PidFile.

              Packit 90a5c9
              Packit 90a5c9
                  

              La directive PidFile fait l'objet des

              Packit 90a5c9
                  mêmes avertissements que ceux concernant le chemin d'enregistrement
              Packit 90a5c9
                  des fichiers journaux et la sécurité.

              Packit 90a5c9
              Packit 90a5c9
                  

              Note

              Packit 90a5c9
                    

              Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser

              Packit 90a5c9
                    que le script apachectl, ou le script de
              Packit 90a5c9
                    démarrage fourni avec votre système d'exploitation pour (re)démarrer ou
              Packit 90a5c9
                    arrêter le serveur.

              Packit 90a5c9
                  
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              top
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              Description:Taille du tampon TCP en entrée
              Packit 90a5c9
              Syntaxe:ReceiveBufferSize octets
              Packit 90a5c9
              Défaut:ReceiveBufferSize 0
              Packit 90a5c9
              Contexte:configuration globale
              Packit 90a5c9
              Statut:MPM
              Packit 90a5c9
              Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
              Packit 90a5c9
              Packit 90a5c9
                  

              Le serveur va fixer la taille du tampon TCP en entrée au

              Packit 90a5c9
                  nombre d'octets spécifié.

              Packit 90a5c9
              Packit 90a5c9
                  

              Si la directive est définie à 0, le serveur va

              Packit 90a5c9
                  utiliser la valeur par défaut adoptée par le système
              Packit 90a5c9
                  d'exploitation.

              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              top
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
              Description:Chemin du fichier où sont stockées les données concernant
              Packit 90a5c9
              la coordination des processus enfants
              Packit 90a5c9
              Syntaxe:ScoreBoardFile chemin fichier
              Packit 90a5c9
              Défaut:ScoreBoardFile logs/apache_runtime_status
              Packit 90a5c9
              Contexte:configuration globale
              Packit 90a5c9
              Statut:MPM
              Packit 90a5c9
              Module:event, worker, prefork, mpm_winnt
              Packit 90a5c9
              Packit 90a5c9
                  

              Le serveur HTTP Apache utilise un tableau de bord pour la

              Packit 90a5c9
                  communication entre le processus parent et les processus enfants.
              Packit 90a5c9
                  Pour faciliter cette communication, certaines architectures
              Packit 90a5c9
                  nécessitent un fichier. En l'absence de cette directive, donc si
              Packit 90a5c9
                  aucun nom de fichier n'est spécifié, Apache httpd tentera tout
              Packit 90a5c9
                  d'abord de créer un tableau uniquement en mémoire (en utilisant la
              Packit 90a5c9
                  mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de
              Packit 90a5c9
                  créer un fichier sur disque (en utilisant la mémoire partagée à base
              Packit 90a5c9
                  de fichier). Si cette directive est utilisée, Apache httpd créera
              Packit 90a5c9
                  systématiquement un fichier sur disque.

              Packit 90a5c9
              Packit 90a5c9
                  

              Exemple

              ScoreBoardFile /var/run/apache_runtime_status
              Packit 90a5c9
              Packit 90a5c9
              Packit 90a5c9
                  

              Une mémoire partagée sous forme de fichier est utile pour les

              Packit 90a5c9
                  applications tierces qui nécessitent un accès direct au tableau de
              Packit 90a5c9
                  bord des processus.

              Packit 90a5c9
              Packit 90a5c9
                  

              Si vous utilisez un ScoreBoardFile, vous

              Packit 90a5c9
                  pourrez constater une amélioration des performances en le plaçant
              Packit 90a5c9
                  sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte
              Packit 90a5c9
                  des mêmes avertissements que ceux concernant le chemin du fichier
              Packit 90a5c9
                  journal et la sécurité.

              Packit 90a5c9
              Packit 90a5c9

              Voir aussi

              Packit 90a5c9
                Packit 90a5c9
              • Arrêter et redémarrer
              • Packit 90a5c9
                le serveur HTTP Apache
                Packit 90a5c9
                Packit 90a5c9
                Packit 90a5c9
                top
                Packit 90a5c9
                Packit 90a5c9
                Packit 90a5c9
                Description:Taille du tampon TCP en sortie
                Packit 90a5c9
                Syntaxe:SendBufferSize octets
                Packit 90a5c9
                Défaut:SendBufferSize 0
                Packit 90a5c9
                Contexte:configuration globale
                Packit 90a5c9
                Statut:MPM
                Packit 90a5c9
                Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2
                Packit 90a5c9
                Packit 90a5c9
                    

                Définit la taille du tampon TCP en sortie avec le nombre

                Packit 90a5c9
                    d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les
                Packit 90a5c9
                    valeurs par défaut standards du passé des systèmes d'exploitation
                Packit 90a5c9
                    pour les transmissions à grande vitesse et haute densité (c'est
                Packit 90a5c9
                    à dire de l'ordre de 100ms comme sur les liaisons rapides
                Packit 90a5c9
                    transcontinentales).

                Packit 90a5c9
                Packit 90a5c9
                    

                Si la directive est définie à 0, le serveur va

                Packit 90a5c9
                    utiliser la valeur par défaut adoptée par le système
                Packit 90a5c9
                    d'exploitation.

                Packit 90a5c9
                Packit 90a5c9
                    

                L'amélioration des performances des connexions à grande vitesse

                Packit 90a5c9
                    et à temps de latence élevé, peut nécessiter
                Packit 90a5c9
                    une intervention au niveau de la configuration de votre système
                Packit 90a5c9
                    d'exploitation.

                Packit 90a5c9
                Packit 90a5c9
                    

                Sous certains systèmes d'exploitation, la modification du

                Packit 90a5c9
                    comportement TCP via une augmentation de la valeur de
                Packit 90a5c9
                    SendBufferSize risque de ne pas être
                Packit 90a5c9
                    perceptible, si la directive EnableSendfile n'est pas définie à OFF.
                Packit 90a5c9
                    Cette interaction ne s'applique qu'aux fichiers statiques.

                Packit 90a5c9
                Packit 90a5c9
                Packit 90a5c9
                top
                Packit 90a5c9
                Packit 90a5c9
                Packit 90a5c9
                Description:Limite supérieure de la définition du nombre de
                Packit 90a5c9
                processus
                Packit 90a5c9
                Syntaxe:ServerLimit nombre
                Packit 90a5c9
                Défaut:Voir ci-dessous pour plus de détails
                Packit 90a5c9
                Contexte:configuration globale
                Packit 90a5c9
                Statut:MPM
                Packit 90a5c9
                Module:event, worker, prefork
                Packit 90a5c9
                Packit 90a5c9
                    

                Avec le MPM prefork, cette directive définit le

                Packit 90a5c9
                    nombre maximum que l'on peut affecter à la directive MaxRequestWorkers, et ceci pour la
                Packit 90a5c9
                    durée de vie du processus Apache httpd. Avec les
                Packit 90a5c9
                    MPMs worker et event, cette directive, en combinaison avec
                Packit 90a5c9
                    ThreadLimit, définit le
                Packit 90a5c9
                    nombre maximum que l'on peut affecter à MaxRequestWorkers, et ceci pour la durée de
                Packit 90a5c9
                    vie du processus Apache httpd. Avec le MPM event, cette
                Packit 90a5c9
                    directive permet aussi de définir le nombre de processus anciens du serveur
                Packit 90a5c9
                    pouvant continuer à s'exécuter pour terminer le traitement des connexions
                Packit 90a5c9
                    ouvertes. Au cours d'un redémarrage, vous pouvez
                Packit 90a5c9
                    modifier la valeur de la directive MaxRequestWorkers, alors que toute
                Packit 90a5c9
                    tentative de modification de la valeur de la directive ServerLimit sera ignorée.

                Packit 90a5c9
                Packit 90a5c9
                    

                Cette directive doit être utilisée avec précaution. Si

                Packit 90a5c9
                    ServerLimit est définie à une valeur beaucoup
                Packit 90a5c9
                    plus grande que nécessaire, de la mémoire partagée supplémentaire
                Packit 90a5c9
                    sera inutilement allouée. Si à la fois
                Packit 90a5c9
                    ServerLimit et MaxRequestWorkers possèdent des valeurs
                Packit 90a5c9
                    supérieures à ce que le système peut supporter, ce dernier peut
                Packit 90a5c9
                    devenir instable ou Apache httpd peut tout simplement refuser de démarrer.

                Packit 90a5c9
                Packit 90a5c9
                    

                Avec les MPMs prefork et event, n'utilisez cette directive

                Packit 90a5c9
                    que si vous devez définir MaxRequestWorkers à une valeur supérieure à
                Packit 90a5c9
                    256 (valeur par défaut). N'affectez pas à la directive ServerLimit une valeur supérieure à
                Packit 90a5c9
                    celle que vous avez prévu d'affecter à la directive MaxRequestWorkers.

                Packit 90a5c9
                Packit 90a5c9
                    

                Avec worker, n'utilisez cette directive que si

                Packit 90a5c9
                    la définition de vos directives MaxRequestWorkers et ThreadsPerChild nécessitent plus de
                Packit 90a5c9
                    16 processus serveurs (valeur par défaut). N'affectez pas à la
                Packit 90a5c9
                    directive ServerLimit une
                Packit 90a5c9
                    valeur supérieure au nombre de processus requis pour la définition
                Packit 90a5c9
                    des directives MaxRequestWorkers
                Packit 90a5c9
                     et ThreadsPerChild.

                Packit 90a5c9
                Packit 90a5c9
                    

                Note

                Packit 90a5c9
                      

                Il existe une limite de ServerLimit 20000 codée en

                Packit 90a5c9
                      dur dans le serveur (200000 pour le MPM prefork).
                Packit 90a5c9
                      Ceci est censé éviter les effets désastreux que pourrait provoquer
                Packit 90a5c9
                      une faute de frappe. Pour dépasser cette limite, vous devez
                Packit 90a5c9
                      modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du
                Packit 90a5c9
                      mpm et recompiler le serveur.

                Packit 90a5c9
                    
                Packit 90a5c9
                Packit 90a5c9

                Voir aussi

                Packit 90a5c9
                  Packit 90a5c9
                • Arrêter et redémarrer
                • Packit 90a5c9
                  le serveur HTTP Apache
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  top
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  Description:Nombre de processus enfants du serveur créés au
                  Packit 90a5c9
                  démarrage
                  Packit 90a5c9
                  Syntaxe:StartServers nombre
                  Packit 90a5c9
                  Défaut:Voir ci-dessous pour plus de détails
                  Packit 90a5c9
                  Contexte:configuration globale
                  Packit 90a5c9
                  Statut:MPM
                  Packit 90a5c9
                  Module:event, worker, prefork, mpmt_os2
                  Packit 90a5c9
                  Packit 90a5c9
                      

                  La directive StartServers permet de

                  Packit 90a5c9
                      définir le nombre de processus enfants du serveur créés au
                  Packit 90a5c9
                      démarrage. Comme le nombre de processus est contrôlé dynamiquement
                  Packit 90a5c9
                      en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en général
                  Packit 90a5c9
                      pas nécessaire d'ajuster ce paramètre.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  La valeur par défaut diffère d'un MPM à l'autre. Pour

                  Packit 90a5c9
                      worker et event, la définition par défaut est
                  Packit 90a5c9
                      StartServers 3 ; la valeur par défaut est
                  Packit 90a5c9
                      5 pour prefork et 2
                  Packit 90a5c9
                      pour mpmt_os2.

                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  top
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  Description:Nombre de threads créés au démarrage
                  Packit 90a5c9
                  Syntaxe:StartThreads nombre
                  Packit 90a5c9
                  Défaut:Voir ci-dessous pour plus de détails
                  Packit 90a5c9
                  Contexte:configuration globale
                  Packit 90a5c9
                  Statut:MPM
                  Packit 90a5c9
                  Module:mpm_netware
                  Packit 90a5c9
                  Packit 90a5c9
                      

                  C'est le nombre de threads créés au démarrage du serveur. Comme

                  Packit 90a5c9
                      le nombre de threads est contrôlé dynamiquement
                  Packit 90a5c9
                      en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en général
                  Packit 90a5c9
                      pas nécessaire d'ajuster ce paramètre.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  Pour mpm_netware, la définition par défaut est

                  Packit 90a5c9
                      StartThreads 50 et, comme il n'y a qu'un processus, il
                  Packit 90a5c9
                      s'agit du nombre total de threads créés au démarrage pour servir les
                  Packit 90a5c9
                      requêtes.

                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  top
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  Description:Le nombre de threads maximum que l'on peut définir par
                  Packit 90a5c9
                  processus enfant
                  Packit 90a5c9
                  Syntaxe:ThreadLimit nombre
                  Packit 90a5c9
                  Défaut:Voir ci-dessous pour plus de détails
                  Packit 90a5c9
                  Contexte:configuration globale
                  Packit 90a5c9
                  Statut:MPM
                  Packit 90a5c9
                  Module:event, worker, mpm_winnt
                  Packit 90a5c9
                  Packit 90a5c9
                      

                  Cette directive permet de définir le nombre maximum que l'on peut

                  Packit 90a5c9
                      affecter à la directive ThreadsPerChild pour la durée de vie
                  Packit 90a5c9
                      du processus Apache httpd. La directive  ThreadsPerChild peut être modifiée
                  Packit 90a5c9
                      au cours d'un redémarrage jusqu'à la valeur de la directive ThreadLimit, mais toute tentative
                  Packit 90a5c9
                      de modification de la directive ThreadLimit au cours d'un
                  Packit 90a5c9
                      redémarrage sera ignorée.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  L'utilisation de cette directive doit faire l'objet de

                  Packit 90a5c9
                      précautions particulières. Si ThreadLimit est
                  Packit 90a5c9
                      définie à une valeur très supérieure à la directive ThreadsPerChild, de la mémoire
                  Packit 90a5c9
                      partagée supplémentaire sera inutilement allouée. Si les directives
                  Packit 90a5c9
                      ThreadLimit et ThreadsPerChild sont définies à des
                  Packit 90a5c9
                      valeurs supérieures à ce que le système peut supporter, ce dernier
                  Packit 90a5c9
                      peut devenir instable, ou Apache httpd peut tout simplement refuser de
                  Packit 90a5c9
                      démarrer. Ne définissez pas cette directive à une valeur supérieure
                  Packit 90a5c9
                      à la valeur maximale que vous pensez affecter à la directive ThreadsPerChild pour le processus
                  Packit 90a5c9
                      Apache httpd en cours d'exécution.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  La valeur par défaut de la directive

                  Packit 90a5c9
                      ThreadLimit est 1920 avec
                  Packit 90a5c9
                      mpm_winnt, et 64 avec les autres
                  Packit 90a5c9
                      MPMs.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  Note

                  Packit 90a5c9
                        

                  Il existe une limite de ThreadLimit 20000 (ou

                  Packit 90a5c9
                        ThreadLimit 100000 avec event,
                  Packit 90a5c9
                        ThreadLimit 15000 avec mpm_winnt)
                  Packit 90a5c9
                        codée en dur dans le serveur. Ceci est censé éviter les effets
                  Packit 90a5c9
                        désastreux que pourrait provoquer une faute de frappe. Pour
                  Packit 90a5c9
                        dépasser cette limite, vous devez modifier la valeur de
                  Packit 90a5c9
                        MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le
                  Packit 90a5c9
                        serveur.

                  Packit 90a5c9
                      
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  top
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  Description:Nombre de threads créés par chaque processus
                  Packit 90a5c9
                  enfant
                  Packit 90a5c9
                  Syntaxe:ThreadsPerChild nombre
                  Packit 90a5c9
                  Défaut:Voir ci-dessous pour plus de détails
                  Packit 90a5c9
                  Contexte:configuration globale
                  Packit 90a5c9
                  Statut:MPM
                  Packit 90a5c9
                  Module:event, worker, mpm_winnt
                  Packit 90a5c9
                  Packit 90a5c9
                      

                  Cette directive permet de définir le nombre de threads que va

                  Packit 90a5c9
                      créer chaque processus enfant. Un processus enfant crée ces threads
                  Packit 90a5c9
                      au démarrage et n'en crée plus d'autres par la suite. Si l'on
                  Packit 90a5c9
                      utilise un MPM comme mpm_winnt qui ne lance qu'un
                  Packit 90a5c9
                      processus enfant, ce nombre doit être suffisamment grand pour
                  Packit 90a5c9
                      supporter la charge du serveur. Avec un MPM comme
                  Packit 90a5c9
                      worker qui lance plusieurs processus enfants, c'est
                  Packit 90a5c9
                      le nombre total de threads qui doit être suffisamment grand
                  Packit 90a5c9
                      pour supporter la charge du serveur.

                  Packit 90a5c9
                  Packit 90a5c9
                      

                  La valeur par défaut de la directive

                  Packit 90a5c9
                      ThreadsPerChild est 64 avec
                  Packit 90a5c9
                      mpm_winnt, et 25 avec les autres
                  Packit 90a5c9
                      MPMs.

                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  top
                  Packit 90a5c9
                  Packit 90a5c9
                  Packit 90a5c9
                  Description:La taille en octets de la pile qu'utilisent les threads qui
                  Packit 90a5c9
                  traitent les connexions clients
                  Packit 90a5c9
                  Syntaxe:ThreadStackSize taille
                  Packit 90a5c9
                  Défaut:65536 sous NetWare; varie en fonction des autres systèmes
                  Packit 90a5c9
                  d'exploitation
                  Packit 90a5c9
                  Contexte:configuration globale
                  Packit 90a5c9
                  Statut:MPM
                  Packit 90a5c9
                  Module:event, worker, mpm_winnt, mpm_netware, mpmt_os2
                  Packit 90a5c9
                  Compatibilité:Disponible dans les versions 2.1 et supérieures
                  Packit 90a5c9
                  du serveur HTTP Apache
                  Packit 90a5c9
                  Packit 90a5c9
                      

                  La directive ThreadStackSize permet de

                  Packit 90a5c9
                      définir la taille de la pile (pour les données propres) qu'utilisent
                  Packit 90a5c9
                      les threads qui traitent les connexions clients en faisant appel à
                  Packit 90a5c9
                      des modules. Dans la plupart des cas, la valeur par défaut de la
                  Packit 90a5c9
                      taille de la pile du système d'exploitation convient, mais il existe
                  Packit 90a5c9
                      certaines situations où il peut s'avérer nécessaire de l'ajuster
                  Packit 90a5c9
                      :

                  Packit 90a5c9
                  Packit 90a5c9
                      
                    Packit 90a5c9
                          
                  • Sur les plates-formes qui possèdent une valeur par défaut de
                  • Packit 90a5c9
                          taille de la pile relativement petite (par exemple HP-UX), Apache
                    Packit 90a5c9
                          httpd peut se crasher si l'on utilise certains modules tiers qui
                    Packit 90a5c9
                          possèdent un quantité de données propres stockées relativement
                    Packit 90a5c9
                          importante. Il se peut que ces mêmes modules fonctionnent
                    Packit 90a5c9
                          correctement sur d'autres plate-formes où la valeur par défaut de
                    Packit 90a5c9
                          la taille de la pile est supérieure. Ce type de crash peut être
                    Packit 90a5c9
                          evité en définissant ThreadStackSize à une
                    Packit 90a5c9
                          valeur supérieure à la valeur par défaut du système
                    Packit 90a5c9
                          d'exploitation. Ce type d'ajustement n'est nécessaire que si le
                    Packit 90a5c9
                          fournisseur du module tiers en fait mention, ou si le diagnostic
                    Packit 90a5c9
                          d'un crash d'Apache httpd indique que la taille de la pile était trop
                    Packit 90a5c9
                          petite.
                    Packit 90a5c9
                    Packit 90a5c9
                          
                  • Sur les plates-formes où la taille par défaut de la pile des
                  • Packit 90a5c9
                          threads est sensiblement supérieure à la taille nécessaire pour la
                    Packit 90a5c9
                          configuration du serveur web, il est possible de disposer d'un
                    Packit 90a5c9
                          plus grand nombre de threads par processus enfant si la directive
                    Packit 90a5c9
                          ThreadStackSize est définie à une valeur
                    Packit 90a5c9
                          inférieure à la valeur par défaut du système d'exploitation.
                    Packit 90a5c9
                          Cependant, ce
                    Packit 90a5c9
                          type d'ajustement ne doit être effectué que dans un environnement
                    Packit 90a5c9
                          de test permettant de qualifier le serveur web au maximum de ses
                    Packit 90a5c9
                          possibilités, car il peut arriver, dans de rares cas, que des
                    Packit 90a5c9
                          requêtes nécessitent une taille de pile supérieure pour pouvoir
                    Packit 90a5c9
                          être traitées. La taille minimale requise pour la pile dépend
                    Packit 90a5c9
                          fortement des modules utilisés, mais toute modification dans la
                    Packit 90a5c9
                          configuration du serveur web peut invalider la définition courante
                    Packit 90a5c9
                          de la directive ThreadStackSize.
                    Packit 90a5c9
                    Packit 90a5c9
                          
                  • Sous Linux, cette directive ne peut être utilisée que pour
                  • Packit 90a5c9
                          augmenter la valeur par defaut de la taille de la pile, car
                    Packit 90a5c9
                          l'appel système sous-jacent utilise cette valeur comme taille de pile
                    Packit 90a5c9
                          minimale. C'est la limite logicielle (souvent élevée)
                    Packit 90a5c9
                          pour ulimit -s (8Mo si aucune limite) qui est
                    Packit 90a5c9
                          utilisée comme taille de pile par défaut.
                    Packit 90a5c9
                        
                    Packit 90a5c9
                    Packit 90a5c9
                        
                    Il est recommandé de ne pas réduire
                    Packit 90a5c9
                        ThreadStackSize, à moins qu'un grand nombre
                    Packit 90a5c9
                        de threads par processus enfant ne soit nécessaire. Sur certaines
                    Packit 90a5c9
                        plates-formes (y compris Linux), une valeur de 128000 est déjà trop
                    Packit 90a5c9
                        basse et provoque des crashes avec certains modules courants.
                    Packit 90a5c9
                    Packit 90a5c9
                    Packit 90a5c9
                    Packit 90a5c9
                    Packit 90a5c9

                    Langues Disponibles:  de  |

                    Packit 90a5c9
                     en  |
                    Packit 90a5c9
                     fr  |
                    Packit 90a5c9
                     ja  |
                    Packit 90a5c9
                     tr 

                    Packit 90a5c9
                    top

                    Commentaires

                    Notice:
                    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
                    Packit 90a5c9
                    <script type="text/javascript">
                    Packit 90a5c9
                    var comments_shortname = 'httpd';
                    Packit 90a5c9
                    var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html';
                    Packit 90a5c9
                    (function(w, d) {
                    Packit 90a5c9
                        if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
                    Packit 90a5c9
                            d.write('
                    <\/div>');
                    Packit 90a5c9
                            var s = d.createElement('script');
                    Packit 90a5c9
                            s.type = 'text/javascript';
                    Packit 90a5c9
                            s.async = true;
                    Packit 90a5c9
                            s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
                    Packit 90a5c9
                            (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
                    Packit 90a5c9
                        }
                    Packit 90a5c9
                        else { 
                    Packit 90a5c9
                            d.write('
                    Comments are disabled for this page at the moment.<\/div>');
                    Packit 90a5c9
                        }
                    Packit 90a5c9
                    })(window, document);
                    Packit 90a5c9
                    //--></script>
                    Packit 90a5c9

                    Copyright 2018 The Apache Software Foundation.
                    Autorisé sous Apache License, Version 2.0.

                    Packit 90a5c9

                    Modules | Directives | FAQ | Glossaire | Plan du site

                    <script type="text/javascript">
                    Packit 90a5c9
                    if (typeof(prettyPrint) !== 'undefined') {
                    Packit 90a5c9
                        prettyPrint();
                    Packit 90a5c9
                    }
                    Packit 90a5c9
                    //--></script>
                    Packit 90a5c9
                    </body></html>