Serveur Apache HTTP Version 2.4
Description: | Une s�rie de directives impl�ment�es par plusieurs modules multi-processus (MPM) |
---|---|
Statut: | MPM |
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.
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
.
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.
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.
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.
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.
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
Listen
pour les m�mes
adresse IP/port vont provoquer l'envoi d'un message d'erreur
Address already in use
.
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).
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).
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.
Listen
ers ou serveurs HTTP
Apache partagent la m�me adresse IP et portLa 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).
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.
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.
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�.
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
.
La gamme de valeurs pour MaxSpareThreads
est limit�e. Apache httpd corrigera automatiquement cette valeur selon
les r�gles suivantes :
mpm_netware
, MaxSpareThreads
doit �tre sup�rieure � MinSpareThreads
.worker
et event
, MaxSpareThreads
doit �tre sup�rieure ou �gale � la somme de MinSpareThreads
et ThreadsPerChild
.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
.
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
.
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�.
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.
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.
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.
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�.
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.
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
.
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.
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
.
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.
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.
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.
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.
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
:
ThreadStackSize
� une
valeur sup�rieure � la valeur par d�faut du syst�me
d'exploitation. Ce type d'ajustement n'est n�cessaire que si le
fournisseur du module tiers en fait mention, ou si le diagnostic
d'un crash d'Apache httpd indique que la taille de la pile �tait trop
petite.ThreadStackSize
est d�finie � une valeur
inf�rieure � la valeur par d�faut du syst�me d'exploitation.
Cependant, ce
type d'ajustement ne doit �tre effectu� que dans un environnement
de test permettant de qualifier le serveur web au maximum de ses
possibilit�s, car il peut arriver, dans de rares cas, que des
requ�tes n�cessitent une taille de pile sup�rieure pour pouvoir
�tre trait�es. La taille minimale requise pour la pile d�pend
fortement des modules utilis�s, mais toute modification dans la
configuration du serveur web peut invalider la d�finition courante
de la directive ThreadStackSize
.ulimit -s
(8Mo si aucune limite) qui est
utilis�e comme taille de pile par d�faut.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.