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
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
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
La directive
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
La directive
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 + 1
.
La directive
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.