<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Apache MPM prefork

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

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

Sommaire

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.

Directives

Sujets

Voir aussi

top

Comment ´┐Ża marche

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

top

MaxSpareServers Directive

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.

Voir aussi

top

MinSpareServers Directive

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.

Voir aussi

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

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.