Serveur Apache HTTP Version 2.4
Description: | Impl�mente un serveur web avec d�marrage anticip� de processus, sans thread |
---|---|
Statut: | MPM |
Identificateur�de�Module: | mpm_prefork_module |
Fichier�Source: | prefork.c |
Ce module multi-processus (MPM) impl�mente un serveur web avec d�marrage anticip� de processus. Chaque processus du serveur peut r�pondre aux requ�tes entrantes, et un processus parent contr�le la taille du jeu de processus enfants. Il est particuli�rement indiqu� pour les sites qui ne doivent pas utiliser les threads afin de maintenir une compatibilit� avec certaines biblioth�ques non s�res du point de vue des threads. C'est �galement le MPM le plus appropri� si l'on veut isoler les requ�tes les unes des autres, de fa�on � ce qu'un probl�me concernant une requ�te n'affecte pas les autres.
Ce MPM s'auto-contr�le de mani�re efficace, de sorte qu'il est
rarement n�cessaire d'ajuster ses directives de configuration. Le
plus important est la d�finition de la directive MaxRequestWorkers
; sa valeur doit �tre
assez grande pour pouvoir traiter autant de requ�tes simultan�es que
vous pensez recevoir, mais assez petite pour conserver suffisamment
de m�moire RAM pour tous les processus.
Un processus de contr�le unique a pour t�che de lancer les processus enfants qui attendent les connexions et les traitent au fur et � mesure qu'elles arrivent. Apache httpd essaie toujours de maintenir plusieurs processus serveurs inactifs ou en r�serve, afin de pouvoir traiter les requ�tes entrantes. De cette fa�on, les clients n'ont pas besoin d'attendre le d�marrage d'un nouveau processus enfant pour que leurs requ�tes puissent �tre trait�es.
Les directives StartServers
, MinSpareServers
, MaxSpareServers
et MaxRequestWorkers
permettent de contr�ler
la mani�re dont le processus parent cr�e les processus enfants pour
traiter les requ�tes. En g�n�ral, Apache httpd s'auto-contr�le de mani�re
efficace, de sorte que la plupart des sites peuvent conserver les
valeurs par d�faut des directives. Les sites qui doivent traiter
plus de 256 requ�tes simultan�es doivent augmenter la valeur de
MaxRequestWorkers
, alors que les
sites dont la ressource m�moire est limit�e doivent la diminuer afin
d'�viter une hyperactivit� du serveur (utilisation excessive de la
m�moire virtuelle sur disque). Vous trouverez plus d'informations �
propos du contr�le de la cr�ation de processus dans le document conseils en mati�re de
performances
Alors que le processus parent est en g�n�ral d�marr� en tant que
root
sous Unix afin de pouvoir se mettre � l'�coute sur le port 80, les
processus enfants sont lanc�s par Apache httpd sous un utilisateur avec
privil�ges restreints. On peut contr�ler les privil�ges accord�s aux
processus enfants d'Apache httpd � l'aide des directives User
et Group
. Les processus enfants doivent
�tre en mesure de lire tous les contenus destin�s � �tre servis,
mais leurs privil�ges doivent �tre aussi bas que possible.
La directive MaxConnectionsPerChild
permet de
contr�ler la fr�quence � laquelle le serveur recycle ses processus
en arr�tant les plus anciens et en en lan�ant de nouveaux.
Ce module MPM utilise le mutex mpm-accept
pour
s�rialiser l'acc�s aux connexions entrantes lorsque peut se
pr�senter un probl�me d'afflux de requ�tes (en g�n�ral quand il y a
plusieurs sockets en �coute). Les aspects de l'impl�mentation de ce
mutex peuvent �tre configur�s via la directive Mutex
. Vous trouverez des informations
suppl�mentaires � propos de ce mutex dans la documentation � propos
des conseils en mati�re de
performances
Description: | Nombre maximum de processus serveurs enfants inactifs |
---|---|
Syntaxe: | MaxSpareServers nombre |
D�faut: | MaxSpareServers 10 |
Contexte: | configuration du serveur |
Statut: | MPM |
Module: | prefork |
La directive MaxSpareServers
permet de
d�finir le nombre maximum souhait� de processus serveurs enfants
inactifs. Un processus inactif est un processus qui ne
traite pas de requ�te. S'il y a plus de
MaxSpareServers
processus inactifs, le
processus parent arr�tera les processus exc�dentaires.
La modification de ce param�tre n'est n�cessaire que
dans le cas de sites tr�s sollicit�s. D�finir ce param�tre � une
valeur tr�s grande est cependant dans la plupart des cas une
mauvaise id�e. Si vous essayez d'affecter � ce param�tre une valeur
�gale ou inf�rieure � la valeur de MinSpareServers
, le serveur HTTP Apache
l'ajustera automatiquement � la valeur de
MinSpareServers
+ 1
.
Description: | Nombre minimum de processus serveurs enfants inactifs |
---|---|
Syntaxe: | MinSpareServers nombre |
D�faut: | MinSpareServers 5 |
Contexte: | configuration du serveur |
Statut: | MPM |
Module: | prefork |
La directive MinSpareServers
permet de
d�finir le nombre minimum d�sir� de processus serveurs enfants
inactifs. Un processus inactif est un processus qui ne
traite pas de requ�te. S'il y a moins de
MinSpareServers
processus inactifs, le
processus parent va cr�er de nouveaux enfants de la mani�re suivante
: il en cr�e un, attend une seconde, il en cr�e deux, attend une
seconde, il en cr�e quatre, puis continue ainsi exponentiellement
jusu'� ce que son taux de cr�ation de processus enfants soit de 32
par seconde. Il ne s'arr�te que lorsque le nombre de processus
enfants correspond � la d�finition de la directive
MinSpareServers
.
La modification de ce param�tre n'est n�cessaire que dans le cas de sites tr�s sollicit�s. D�finir ce param�tre � une valeur tr�s grande est dans la plupart des cas une mauvaise id�e.