From 2869ce261a05086da07b1fac43a784276f1fa5f1 Mon Sep 17 00:00:00 2001
From: Lucien Gentis Ce module multi-processus (MPM) implémente un serveur web basé
- exclusivement sur les threads et optimisé pour Novell NetWare. Ce module multi-processus (MPM) implémente un serveur web basé
+ exclusivement sur les threads et optimisé pour Novell NetWare. Le thread maître est chargé du lancement de threads esclaves qui
- attendent les connexions et les traitent au fur et à mesure de leur
- arrivée. Le serveur HTTP Apache essaie toujours de maintenir
+ Le thread maître est chargé du lancement de threads esclaves qui
+ attendent les connexions et les traitent au fur et à mesure de leur
+ arrivée. Le serveur HTTP Apache essaie toujours de maintenir
plusieurs threads
- esclaves en spare (en réserve) ou inactifs. De cette
- façon, les clients n'ont pas besoin d'attendre le lancement d'un
- nouveau thread enfant pour que leurs requêtes soient traitées.
Les directives
La directive
La directive
La directive
Ce module multi-processus (MPM) est le module par défaut pour les - systèmes d'exploitation de style Windows NT. Il consiste en un - processus de contrôle unique qui lance un processus enfant unique, - ce dernier créant à son tour des threads pour traiter les - requêtes.
+Ce module multi-processus (MPM) est le module par défaut pour les + systèmes d'exploitation de style Windows NT. Il consiste en un + processus de contrôle unique qui lance un processus enfant unique, + ce dernier créant à son tour des threads pour traiter les + requêtes.
La directive
Ce MPM utilise par défaut les APIs Windows avancées pour accepter +
Ce MPM utilise par défaut les APIs Windows avancées pour accepter les nouvelles connexions des clients. Avec certaines configurations, - des produits tiers peuvent interférer avec cette implémentation, et + des produits tiers peuvent interférer avec cette implémentation, et provoquer l'enregistrement des messages suivants dans les journaux du serveur :
@@ -53,10 +53,10 @@ NT.Le MPM se rabat sur une implémentation plus sûre, mais certaines
- requêtes n'ont pas été traitées correctement. Pour éviter cette
- erreur, définissez la directive none
.
Le MPM se rabat sur une implémentation plus sûre, mais certaines
+ requêtes n'ont pas été traitées correctement. Pour éviter cette
+ erreur, définissez la directive none
.
Avec les versions 2.0 et 2.2 d'Apache httpd, c'est la directive
-
Le MPM WinNT diffère des autres MPMs Unix comme worker et event - à bien des égards :
+Le MPM WinNT diffère des autres MPMs Unix comme worker et event + à bien des égards :
monitor
et fatal_exception
- ne sont pas encore implémentés.Le serveur se compose d'un processus principal parent, et d'un petit nombre fixe de processus enfants.
-La tâche du processus parent consiste à gérer les processus - enfants, c'est à dire lancer ces processus de manière à ce - qu'il y en ait toujours un nombre égal à la valeur de la directive +
La tâche du processus parent consiste à gérer les processus
+ enfants, c'est à dire lancer ces processus de manière à ce
+ qu'il y en ait toujours un nombre égal à la valeur de la directive
Chaque processus enfant comporte un jeu de threads esclaves et un
- thread maître qui accepte les connexions et les distribue aux
+ thread maître qui accepte les connexions et les distribue aux
esclaves via une file de travail. Le jeu de threads esclaves est
- dynamique et géré par un thread de maintenance de façon à ce que le
+ dynamique et géré par un thread de maintenance de façon à ce que le
nombre de threads inactifs soit maintenu entre
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 +
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
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
+ 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
+ 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 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.
+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.
Le document de référence rapide des directives montre l'usage, - les valeurs par défaut, le statut, +
Le document de référence rapide des directives montre l'usage, + les valeurs par défaut, le statut, et le contexte de chaque directive de configuration d'Apache. Pour plus d'informations sur chacun de ces termes, voir le Dictionnaire des directives.
-La première colonne donne le nom de la directive et son usage. - Si la directive possède une valeur par défaut, elle est indiquée dans la - deuxième colonne. - Si la valeur par défaut est trop grande pour pouvoir être affichée, - elle sera tronquée et suivie d'un "+".
+La première colonne donne le nom de la directive et son usage. + Si la directive possède une valeur par défaut, elle est indiquée dans la + deuxième colonne. + Si la valeur par défaut est trop grande pour pouvoir être affichée, + elle sera tronquée et suivie d'un "+".
-La troisième colonne énumère les contextes dans - lesquels la directive est applicable, et la quatrième indique son statut en accord avec le - tableau des légendes ci-dessous.
+La troisième colonne énumère les contextes dans + lesquels la directive est applicable, et la quatrième indique son statut en accord avec le + tableau des légendes ci-dessous.
Ce module multi-processus (MPM) implémente un serveur hybride +
Ce module multi-processus (MPM) implémente un serveur hybride multi-processus multi-thread. En utilisant les threads pour servir - les requêtes, il peut en traiter un grand nombre tout en consommant - moins de ressources qu'un serveur à base de processus. Cependant, il - conserve une grande partie de la stabilité d'un serveur à base de + les requêtes, il peut en traiter un grand nombre tout en consommant + moins de ressources qu'un serveur à base de processus. Cependant, il + conserve une grande partie de la stabilité d'un serveur à base de processus en maintenant plusieurs processus disponibles, chacun de - ces derniers possédant de nombreux threads.
+ ces derniers possédant de nombreux threads. -Les directives les plus importantes qui permettent de contrôler +
Les directives les plus importantes qui permettent de contrôler
ce MPM sont
Un processus de contrôle unique (le parent) a pour tâche de
- lancer les processus enfants. Chaque processus enfant crée un nombre
+ Un processus de contrôle unique (le parent) a pour tâche de
+ lancer les processus enfants. Chaque processus enfant crée un nombre
fixe de threads serveurs selon la valeur de la directive
Le serveur HTTP Apache essaie toujours de maintenir un jeu de
threads serveurs
- inactifs ou en réserve, qui se tiennent prêts à traiter
- les requêtes entrantes. De cette façon, les clients n'ont pas besoin
- d'attendre la création d'un nouveau thread ou d'un nouveau processus
- pour que leurs requêtes puissent être traitées. Le nombre de
- processus lancés initialement est défini par la directive
Deux directives permettent de fixer des limites absolues pour le
nombre de processus enfants actifs et le nombre de threads serveurs
- par processus enfant, et ne peuvent être modifiées qu'en
- arrêtant complètement le serveur et en le démarrant à nouveau.
+ par processus enfant, et ne peuvent être modifiées qu'en
+ arrêtant complètement le serveur et en le démarrant à nouveau.
La valeur de la directive
En plus du jeu de processus enfants actifs, il peut exister
- quelques processus enfants en cours d'arrêt, mais dont au moins un
+ quelques processus enfants en cours d'arrêt, mais dont au moins un
thread serveur est encore en train de traiter une connexion client
- existante. Il peut subsister en théorie jusqu'à
Voici un exemple typique de configuration du contrôle +
Voici un exemple typique de configuration du contrôle
processus-thread pour le MPM
Alors que le processus parent est en général démarré en tant que
- root
sous Unix afin de se mettre en écoute du port 80,
- les processus enfants et les threads sont lancés par le serveur sous un
- utilisateur avec privilèges restreints. On peut utiliser les
+
Alors que le processus parent est en général démarré en tant que
+ root
sous Unix afin de se mettre en écoute du port 80,
+ les processus enfants et les threads sont lancés par le serveur sous un
+ utilisateur avec privilèges restreints. On peut utiliser les
directives
La directive
Ce module MPM utilise le mutex mpm-accept
pour
- sérialiser l'accès aux connexions entrantes lorsqu'un problème
- d'afflux de requêtes peut survenir (en général, lorsqu'il y a
- plusieurs sockets en écoute). Les différents aspects de
- l'implémentation de ce mutex peuvent être configurés via la
+ sérialiser l'accès aux connexions entrantes lorsqu'un problème
+ d'afflux de requêtes peut survenir (en général, lorsqu'il y a
+ plusieurs sockets en écoute). Les différents aspects de
+ l'implémentation de ce mutex peuvent être configurés via la
directive