Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Apache MPM : Directives Communes

Langues Disponibles:  de  |  en  |  fr  |  ja  |  tr 

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

Directives

Traitement des bugs

Voir aussi

Directive CoreDumpDirectory

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

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

Si vous avez besoin d'un vidage m�moire pour le d�bogage, vous pouvez utiliser cette directive pour le placer � un endroit diff�rent. Cette directive n'a aucun effet si votre syst�me d'exploitation n'est pas configur� pour cr�er des fichiers de vidage m�moire dans le r�pertoire de travail des processus qui se sont crash�s.

Vidages m�moire sous Linux

Si Apache httpd est d�marr� sous l'utilisateur root puis bascule vers un autre utilisateur, le noyau Linux d�sactive les vidages m�moire, m�me si le r�pertoire est accessible en �criture au processus. Apache httpd (versions 2.0.46 et sup�rieures) r�active les vidages m�moire sous Linux 2.4 et au del�, mais seulement si vous d�finissez une directive CoreDumpDirectory.

Vidages m�moire sous BSD

Pour activer le vidage m�moire des ex�cutables suid sur les syst�mes de style BSD (comme FreeBSD), d�finissez kern.sugid_coredump � 1.

Signaux sp�cifiques

CoreDumpDirectory n'est trait� qu'� la reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT, SIGSEGV, et SIGBUS.

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

Directive EnableExceptionHook

Description:Active un hook ("point d'accrochage logiciel") qui ex�cute des gestionnaires d'exception apr�s un crash
Syntaxe:EnableExceptionHook On|Off
D�faut:EnableExceptionHook Off
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork

Pour des raisons de s�curit�, cette directive n'est disponible que si la compilation du serveur a �t� configur�e avec l'option --enable-exception-hook. Elle permet d'activer un hook ("point d'accrochage logiciel") qui autorise certains modules externes � effectuer un branchement et accomplir telle ou telle action apr�s le crash d'un processus enfant.

Deux modules, mod_whatkilledus et mod_backtrace utilisent ce hook. Veuillez vous r�f�rer � la page EnableExceptionHook de Jeff Trawick pour plus d'informations � leur sujet.

Directive GracefulShutdownTimeout

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

La directive GracefulShutdownTimeout permet de sp�cifier le temps, en secondes, pendant lequel le serveur va continuer � fonctionner apr�s avoir re�u un signal "graceful-stop" ("Arr�t en douceur"), afin de terminer le traitement des connexions en cours.

D�finir cette valeur � z�ro signifie au serveur d'attendre jusqu'� ce que toutes les requ�tes en cours aient �t� trait�es.

Directive Listen

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

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

La directive Listen signifie au serveur de n'accepter les requ�tes entrantes que vers le port ou le couple adresse-port sp�cifi�. Si seulement un port est sp�cifi�, le serveur se met � l'�coute sur ce port sur toutes les interfaces r�seau. Si une adresse IP et un port sont sp�cifi�s, le serveur va se mettre � l'�coute sur ce port sur l'interface r�seau correspondant � l'adresse IP.

On peut utiliser autant de directives Listen que n�cessaire pour sp�cifier plusieurs adresses et/ou ports � �couter. Le serveur r�pondra aux requ�tes vers tous les adresses et ports sp�cifi�s.

Par exemple, pour que le serveur accepte les connexions sur les ports 80 et 8000, utilisez :

Listen 80
Listen 8000

Pour que le serveur accepte les connexions sur deux interfaces et ports particuliers, sp�cifiez :

Listen 192.170.2.1:80
Listen 192.170.2.5:8000

Les adressee IPv6 doivent �tre entour�es de crochets, comme dans l'exemple suivant :

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

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

La sp�cification d'un protocole n'est n�cessaire que si vous utilisez des ports non standards. Par exemple, pour configurer un site en https sur le port 8443 :

Listen 192.170.2.1:8443 https

Condition d'erreur

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

Voir aussi

Directive ListenBackLog

Description:Longueur maximale de la liste d'attente des connexions
Syntaxe:ListenBacklog backlog
D�faut:ListenBacklog 511
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2

La longueur maximale de la liste d'attente des connexions. En g�n�ral, aucune modification n'est n�cessaire, ni m�me souhaitable ; cependant, sur certains syst�mes, il peut �tre n�cessaire d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en masse de requ�tes SYN pour saturer le serveur). Voir le param�tre backlog de l'appel syst�me listen(2).

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

Directive ListenCoresBucketsRatio

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

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

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

Sous Linux et BSD, un coeur de CPU peut �tre activ� ou d�sactiv� si Hotplug a �t� configur� ; la directive ListenCoresBucketsRatio doit donc tenir compte de ce param�tre pour calculer le nombre de segments d'�coute � cr�er.

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

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

Cette directive influence le calcul des valeurs limites inf�rieures de MinSpareThreads et MaxSpareThreads. En effet, pour accepter les connexions de mani�re optimale, le nombre de processus enfants doit �tre un multiple du nombre de segments d'�coute.

Cas o� plusieurs Listeners ou serveurs HTTP Apache partagent la m�me adresse IP et port

La d�finition de l'option SO_REUSEPORT pour les sockets d'�coute permet � plusieurs processus (partageant le m�me EUID, par exemple root) de se rattacher � la m�me adresse IP et port, sans obtenir l'erreur de rattachement que le syst�me g�n�re habituellement lorsque ce cas se produit.

Cela signifie aussi que plusieurs instances d'Apache httpd configur�es avec le m�me IP:port et avec une valeur ListenCoresBucketsRatio positive pourraient d�marrer sans erreur, et fonctionner ensuite avec une r�partition uniforme des connexions entrantes sur ces diff�rentes instances (ce n'est PAS une recommandation et ne constitue pas un usage appropri� � tous les cas, mais juste un avertissement sur le fait qu'un v�ritable probl�me de rattachement multiple � un IP:port pourrait alors �tre occult�).

Au sein d'une m�me instance, Apache httpd v�rifie la pr�sence de directives Listen multiples avec la m�me adresse IP (ou nom d'h�te) et le m�me port, et refuse de d�marrer si c'est le cas, ce qui permet d'�viter la cr�ation de segments d'�coute dupliqu�s qui seraient du coup inutiles et affecteraient les performances. Cependant, il ne peut pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de recouvrement (comme un nom d'h�te correspondant � une adresse IP utilis�e quelque part ailleurs).

Directive MaxConnectionsPerChild

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

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

D�finir MaxConnectionsPerChild � une valeur non nulle limite la quantit� de m�moire qu'un processus peut consommer � cause de fuites (accidentelles) de m�moire.

Directive MaxMemFree

Description:Quantit� maximale de m�moire que l'allocateur principal est autoris� � conserver sans appeler free()
Syntaxe:MaxMemFree KOctets
D�faut:MaxMemFree 2048
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware

La directive MaxMemFree permet de d�finir le nombre maximum de KOctets libres que tout allocateur est autoris� � conserver sans appeler free(). Dans les MPMs thread�s, chaque thread poss�de son propre allocateur. Si elle est d�finie � 0, la quantit� de m�moire libre que peut conserver un allocateur est illimit�e.

Directive MaxRequestWorkers

Description:Nombre maximum de connexions pouvant �tre trait�es simultan�ment
Syntaxe:MaxRequestWorkers nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork

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

Pour les serveurs non thread�s (c'est � dire utilisant prefork), la directive MaxRequestWorkers d�finit alors le nombre maximum de processus enfants qui pourront �tre lanc�s simultan�ment pour traiter les requ�tes. La valeur par d�faut est 256 ; si vous l'augmentez, vous devez aussi augmenter la valeur de la directive ServerLimit.

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

Le nom de la directive MaxRequestWorkers �tait MaxClients avant la version 2.3.13. Cet ancien nom est encore support�.

Directive MaxSpareThreads

Description:Nombre maximum de threads inactifs
Syntaxe:MaxSpareThreads nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, mpm_netware, mpmt_os2

C'est le nombre maximum de threads inactifs. Les MPMs utilisent cette directive de diff�rentes mani�res.

Pour worker et event, la d�finition par d�faut est MaxSpareThreads 250. Ce MPM g�re les threads inactifs au niveau du serveur. Si le serveur poss�de trop de threads inactifs, des processus enfants seront arr�t�s jusqu'� ce que le nombre de threads inactifs repasse en dessous de cette limite. Des processus/threads suppl�mentaires sont susceptibles d'�tre cr��s si ListenCoresBucketsRatio est activ�e.

Pour mpm_netware, la d�finition par d�faut est MaxSpareThreads 100. Comme ce MPM n'ex�cute qu'un seul processus, le nombre de processus inactifs est surveill� au niveau du serveur.

mpmt_os2 fonctionne de mani�re similaire � mpm_netware. Pour mpmt_os2, la valeur par d�faut est 10.

Contraintes

La gamme de valeurs pour MaxSpareThreads est limit�e. Apache httpd corrigera automatiquement cette valeur selon les r�gles suivantes :

Voir aussi

Directive MinSpareThreads

Description:Nombre minimum de threads inactifs qui seront disponibles pour pouvoir traiter les pics de requ�tes
Syntaxe:MinSpareThreads nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, mpm_netware, mpmt_os2

C'est le nombre minimum de threads inactifs pour �tre en mesure de traiter les pics de requ�tes. Les MPMs utilisent cette directive de diff�rentes mani�res.

Avec worker et event, la d�finition par d�faut est MinSpareThreads 75, et le nombre de threads inactifs est surveill� au niveau du serveur. Si le serveur ne poss�de pas assez de threads inactifs, des processus enfants sont cr��s jusqu'� ce que le nombre de threads inactifs repasse au dessus de nombre. Des processus/threads suppl�mentaires peuvent �tre cr��s si ListenCoresBucketsRatio est activ�e.

Avec mpm_netware, la d�finition par d�faut est MinSpareThreads 10 et, comme ce MPM n'ex�cute qu'un seul processus, le nombre de threads est surveill� au niveau du serveur.

mpmt_os2 fonctionne de mani�re similaire � mpm_netware. Pour mpmt_os2, la valeur par d�faut est 5.

Voir aussi

Directive PidFile

Description:Ficher dans lequel le serveur enregistre l'identificateur de processus du d�mon
Syntaxe:PidFile nom fichier
D�faut:PidFile logs/httpd.pid
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpmt_os2

La directive PidFile permet de d�finir le ficher dans lequel le serveur enregistre l'identificateur de processus du d�mon. Si le chemin du fichier n'est pas absolu, il est consid�r� comme relatif au chemin d�fini par la directive ServerRoot.

Exemple

PidFile /var/run/apache.pid

Il est souvent utile de pouvoir envoyer un signal au serveur afin qu'il ferme et ouvre � nouveau ses journaux d'erreur et de transfert, et recharge son fichier de configuration. Pour ce faire, on envoie un signal SIGHUP (kill -1) � l'identificateur de processus enregistr� dans le fichier d�fini par la directive PidFile.

La directive PidFile fait l'objet des m�mes avertissements que ceux concernant le chemin d'enregistrement des fichiers journaux et la s�curit�.

Note

Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser que le script apache2ctl, ou le script de d�marrage fourni avec votre syst�me d'exploitation pour (re)d�marrer ou arr�ter le serveur.

Directive ReceiveBufferSize

Description:Taille du tampon TCP en entr�e
Syntaxe:ReceiveBufferSize octets
D�faut:ReceiveBufferSize 0
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2

Le serveur va fixer la taille du tampon TCP en entr�e au nombre d'octets sp�cifi�.

Si la directive est d�finie � 0, le serveur va utiliser la valeur par d�faut adopt�e par le syst�me d'exploitation.

Directive ScoreBoardFile

Description:Chemin du fichier o� sont stock�es les donn�es concernant la coordination des processus enfants
Syntaxe:ScoreBoardFile chemin fichier
D�faut:ScoreBoardFile logs/apache_runtime_status
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt

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

Exemple

ScoreBoardFile /var/run/apache_runtime_status

Une m�moire partag�e sous forme de fichier est utile pour les applications tierces qui n�cessitent un acc�s direct au tableau de bord des processus.

Si vous utilisez un ScoreBoardFile, vous pourrez constater une am�lioration des performances en le pla�ant sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte des m�mes avertissements que ceux concernant le chemin du fichier journal et la s�curit�.

Voir aussi

Directive SendBufferSize

Description:Taille du tampon TCP en sortie
Syntaxe:SendBufferSize octets
D�faut:SendBufferSize 0
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2

D�finit la taille du tampon TCP en sortie avec le nombre d'octets sp�cifi�. Ceci s'av�re souvent tr�s utile pour augmenter les valeurs par d�faut standards du pass� des syst�mes d'exploitation pour les transmissions � grande vitesse et haute densit� (c'est � dire de l'ordre de 100ms comme sur les liaisons rapides transcontinentales).

Si la directive est d�finie � 0, le serveur va utiliser la valeur par d�faut adopt�e par le syst�me d'exploitation.

L'am�lioration des performances des connexions � grande vitesse et � temps de latence �lev�, peut n�cessiter une intervention au niveau de la configuration de votre syst�me d'exploitation.

Sous certains syst�mes d'exploitation, la modification du comportement TCP via une augmentation de la valeur de SendBufferSize risque de ne pas �tre perceptible, si la directive EnableSendfile n'est pas d�finie � OFF. Cette interaction ne s'applique qu'aux fichiers statiques.

Directive ServerLimit

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

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

Cette directive doit �tre utilis�e avec pr�caution. Si ServerLimit est d�finie � une valeur beaucoup plus grande que n�cessaire, de la m�moire partag�e suppl�mentaire sera inutilement allou�e. Si � la fois ServerLimit et MaxRequestWorkers poss�dent des valeurs sup�rieures � ce que le syst�me peut supporter, ce dernier peut devenir instable ou Apache httpd peut tout simplement refuser de d�marrer.

Avec les MPMs prefork et event, n'utilisez cette directive que si vous devez d�finir MaxRequestWorkers � une valeur sup�rieure � 256 (valeur par d�faut). N'affectez pas � la directive ServerLimit une valeur sup�rieure � celle que vous avez pr�vu d'affecter � la directive MaxRequestWorkers.

Avec worker, n'utilisez cette directive que si la d�finition de vos directives MaxRequestWorkers et ThreadsPerChild n�cessitent plus de 16 processus serveurs (valeur par d�faut). N'affectez pas � la directive ServerLimit une valeur sup�rieure au nombre de processus requis pour la d�finition des directives MaxRequestWorkers et ThreadsPerChild.

Note

Il existe une limite de ServerLimit 20000 cod�e en dur dans le serveur (200000 pour le MPM prefork). Ceci est cens� �viter les effets d�sastreux que pourrait provoquer une faute de frappe. Pour d�passer cette limite, vous devez modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du mpm et recompiler le serveur.

Voir aussi

Directive StartServers

Description:Nombre de processus enfants du serveur cr��s au d�marrage
Syntaxe:StartServers nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, prefork, mpmt_os2

La directive StartServers permet de d�finir le nombre de processus enfants du serveur cr��s au d�marrage. Comme le nombre de processus est contr�l� dynamiquement en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en g�n�ral pas n�cessaire d'ajuster ce param�tre.

La valeur par d�faut diff�re d'un MPM � l'autre. Pour worker et event, la d�finition par d�faut est StartServers 3 ; la valeur par d�faut est 5 pour prefork et 2 pour mpmt_os2.

Directive StartThreads

Description:Nombre de threads cr��s au d�marrage
Syntaxe:StartThreads nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:mpm_netware

C'est le nombre de threads cr��s au d�marrage du serveur. Comme le nombre de threads est contr�l� dynamiquement en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en g�n�ral pas n�cessaire d'ajuster ce param�tre.

Pour mpm_netware, la d�finition par d�faut est StartThreads 50 et, comme il n'y a qu'un processus, il s'agit du nombre total de threads cr��s au d�marrage pour servir les requ�tes.

Directive ThreadLimit

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

Cette directive permet de d�finir le nombre maximum que l'on peut affecter � la directive ThreadsPerChild pour la dur�e de vie du processus Apache httpd. La directive ThreadsPerChild peut �tre modifi�e au cours d'un red�marrage jusqu'� la valeur de la directive ThreadLimit, mais toute tentative de modification de la directive ThreadLimit au cours d'un red�marrage sera ignor�e.

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

La valeur par d�faut de la directive ThreadLimit est 1920 avec mpm_winnt, et 64 avec les autres MPMs.

Note

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

Directive ThreadsPerChild

Description:Nombre de threads cr��s par chaque processus enfant
Syntaxe:ThreadsPerChild nombre
D�faut:Voir ci-dessous pour plus de d�tails
Contexte:configuration du serveur
Statut:MPM
Module:event, worker, mpm_winnt

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

La valeur par d�faut de la directive ThreadsPerChild est 64 avec mpm_winnt, et 25 avec les autres MPMs.

Directive ThreadStackSize

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

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

Il est recommand� de ne pas r�duire ThreadStackSize, � moins qu'un grand nombre de threads par processus enfant ne soit n�cessaire. Sur certaines plates-formes (y compris Linux), une valeur de 128000 est d�j� trop basse et provoque des crashes avec certains modules courants.

Langues Disponibles:  de  |  en  |  fr  |  ja  |  tr 

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.