Loading docs/manual/mod/event.xml.fr +71 −3 Original line number Diff line number Diff line <?xml version="1.0"?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> <!-- English Revision : 1137744 --> <!-- English Revision : 1142490 --> <!-- French translation : Lucien GENTIS --> <!-- Reviewed by : Vincent Deffontaines --> Loading Loading @@ -60,8 +60,18 @@ mobiliser des threads que pour les connexions en cours de traitement</descriptio mobilise en principe à cet effet un processus/thread enfant en attente des données du client, ce qui amène son propre lot d'inconvénients. Pour résoudre ce problème, <module>event</module> utilise un thread dédié qui gère non seulement les sockets en écoute, mais aussi tous les sockets en état Keep Alive.</p> utilise un thread dédié qui gère les sockets en écoute, tous les sockets en état Keep Alive, et les sockets où les filtres gestionnaires et de protocole ont fait leur travail et pour lesquels la seule chose restant à faire consiste à envoyer les données au client. La page d'état de <module>mod_status</module> montre les connexions qui se trouvent dans les situations mentionnées.</p> <p>Le gestionnaire de connexion amélioré ne fonctionne pas encore pour certains filtres de connexion, et en particulier SSL. Pour les connexions SSL, ce MPM réadopte le comportement du MPM <module>worker</module> et réserve un thread par connexion.</p> <p>Le MPM présuppose que l'implémentation <code>apr_pollset</code> sous-jacente est raisonnablement sûre du point de vue des threads. Loading Loading @@ -144,4 +154,62 @@ mobiliser des threads que pour les connexions en cours de traitement</descriptio <directivesynopsis location="mpm_common"><name>User</name> </directivesynopsis> <directivesynopsis> <name>AsyncRequestWorkerFactor</name> <description>Limite le nombre de connexions simultanées par thread</description> <syntax>AsyncRequestWorkerFactor <var>facteur</var></syntax> <default>2</default> <contextlist><context>server config</context> </contextlist> <compatibility>Disponible depuis la version 2.3.13</compatibility> <usage> <p>Le MPM event gère certaines connexions de manière asynchrone ; dans ce cas, les threads traitant la requête sont alloués selon les besoins et pour de courtes périodes. Dans les autres cas (la plupart du temps pour les connexions SSL), un thread est réservé par connexion. Ceci peut conduire à des situations où tous les threads sont saturés et où aucun thread n'est capable d'effectuer de nouvelles tâches pour les connexions asynchrones établies.</p> <p>Pour minimiser les effets de ce problème, le MPM event utilise deux méthodes : tout d'abord, il limite le nombre de connexions simultanées par thread en fonction du nombre de processus inactifs. Ensuite, si tous les processus sont occupés, il ferme des connexions permanentes, même si la limite de durée de la connexion n'a pas été atteinte. Ceci autorise les clients concernés à se reconnecter à un autre processus possèdant encore des threads disponibles.</p> <p>Cette directive permet de personnaliser finement la limite du nombre de connexions par thread. Un processus n'acceptera de nouvelles connexions que si le nombre actuel de connexions est inférieur à :</p> <p class="indent"><strong> <directive module="mpm_common">ThreadsPerChild</directive> + (<directive>AsyncRequestWorkerFactor</directive> * <var>nombre de threads inactifs</var>) </strong></p> <p>En d'autres termes, le nombre maximum de connexions simultanées sera :</p> <p class="indent"><strong> (<directive>AsyncRequestWorkerFactor</directive> + 1) * <directive module="mpm_common">MaxRequestWorkers</directive> </strong></p> <p>La directive <directive module="mpm_common">MaxRequestWorkers</directive> se nommait <directive>MaxClients</directive> avant la version 2.3.13. La valeur ci-dessus montre que cet ancien nom ne correspondait pas à sa signification exacte pour le MPM event.</p> <p>La directive <directive>AsyncRequestWorkerFactor</directive> accepte des valeurs d'argument de type non entier, comme "1.5".</p> </usage> </directivesynopsis> </modulesynopsis> Loading
docs/manual/mod/event.xml.fr +71 −3 Original line number Diff line number Diff line <?xml version="1.0"?> <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> <!-- English Revision : 1137744 --> <!-- English Revision : 1142490 --> <!-- French translation : Lucien GENTIS --> <!-- Reviewed by : Vincent Deffontaines --> Loading Loading @@ -60,8 +60,18 @@ mobiliser des threads que pour les connexions en cours de traitement</descriptio mobilise en principe à cet effet un processus/thread enfant en attente des données du client, ce qui amène son propre lot d'inconvénients. Pour résoudre ce problème, <module>event</module> utilise un thread dédié qui gère non seulement les sockets en écoute, mais aussi tous les sockets en état Keep Alive.</p> utilise un thread dédié qui gère les sockets en écoute, tous les sockets en état Keep Alive, et les sockets où les filtres gestionnaires et de protocole ont fait leur travail et pour lesquels la seule chose restant à faire consiste à envoyer les données au client. La page d'état de <module>mod_status</module> montre les connexions qui se trouvent dans les situations mentionnées.</p> <p>Le gestionnaire de connexion amélioré ne fonctionne pas encore pour certains filtres de connexion, et en particulier SSL. Pour les connexions SSL, ce MPM réadopte le comportement du MPM <module>worker</module> et réserve un thread par connexion.</p> <p>Le MPM présuppose que l'implémentation <code>apr_pollset</code> sous-jacente est raisonnablement sûre du point de vue des threads. Loading Loading @@ -144,4 +154,62 @@ mobiliser des threads que pour les connexions en cours de traitement</descriptio <directivesynopsis location="mpm_common"><name>User</name> </directivesynopsis> <directivesynopsis> <name>AsyncRequestWorkerFactor</name> <description>Limite le nombre de connexions simultanées par thread</description> <syntax>AsyncRequestWorkerFactor <var>facteur</var></syntax> <default>2</default> <contextlist><context>server config</context> </contextlist> <compatibility>Disponible depuis la version 2.3.13</compatibility> <usage> <p>Le MPM event gère certaines connexions de manière asynchrone ; dans ce cas, les threads traitant la requête sont alloués selon les besoins et pour de courtes périodes. Dans les autres cas (la plupart du temps pour les connexions SSL), un thread est réservé par connexion. Ceci peut conduire à des situations où tous les threads sont saturés et où aucun thread n'est capable d'effectuer de nouvelles tâches pour les connexions asynchrones établies.</p> <p>Pour minimiser les effets de ce problème, le MPM event utilise deux méthodes : tout d'abord, il limite le nombre de connexions simultanées par thread en fonction du nombre de processus inactifs. Ensuite, si tous les processus sont occupés, il ferme des connexions permanentes, même si la limite de durée de la connexion n'a pas été atteinte. Ceci autorise les clients concernés à se reconnecter à un autre processus possèdant encore des threads disponibles.</p> <p>Cette directive permet de personnaliser finement la limite du nombre de connexions par thread. Un processus n'acceptera de nouvelles connexions que si le nombre actuel de connexions est inférieur à :</p> <p class="indent"><strong> <directive module="mpm_common">ThreadsPerChild</directive> + (<directive>AsyncRequestWorkerFactor</directive> * <var>nombre de threads inactifs</var>) </strong></p> <p>En d'autres termes, le nombre maximum de connexions simultanées sera :</p> <p class="indent"><strong> (<directive>AsyncRequestWorkerFactor</directive> + 1) * <directive module="mpm_common">MaxRequestWorkers</directive> </strong></p> <p>La directive <directive module="mpm_common">MaxRequestWorkers</directive> se nommait <directive>MaxClients</directive> avant la version 2.3.13. La valeur ci-dessus montre que cet ancien nom ne correspondait pas à sa signification exacte pour le MPM event.</p> <p>La directive <directive>AsyncRequestWorkerFactor</directive> accepte des valeurs d'argument de type non entier, comme "1.5".</p> </usage> </directivesynopsis> </modulesynopsis>