1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>event - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
16 <p class="apache">Serveur Apache HTTP Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache MPM event</h1>
24 <p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/event.html" title="Français"> fr </a></p>
27 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne
28 mobiliser des threads que pour les connexions en cours de traitement</td></tr>
29 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_event_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>event.c</td></tr></table>
34 <p>Le module multi-processus (MPM) <code class="module"><a href="../mod/event.html">event</a></code> est conçu
35 pour permettre le traitement d'un nombre accru de requêtes
36 simultanées en déléguant certaines tâches à des threads de support,
37 libérant par là-même le thread principal et lui permettant de
38 traiter les nouvelles requêtes. Il s'inspire du MPM
39 <code class="module"><a href="../mod/worker.html">worker</a></code> qui implémente un serveur hybride
40 multi-processus/multi-threads. Les directives de configuration à
41 l'exécution sont identiques à celles du MPM
42 <code class="module"><a href="../mod/worker.html">worker</a></code>.</p>
44 <p>Pour utiliser le MPM <code class="module"><a href="../mod/event.html">event</a></code>, ajoutez
45 <code>--with-mpm=event</code> aux arguments du script
46 <code class="program"><a href="../programs/configure.html">configure</a></code> lorsque vous compilez le programme
47 <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
50 <div id="quickview"><h3 class="directives">Directives</h3>
52 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
53 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
54 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li>
55 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
56 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
57 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
58 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
59 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
60 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
61 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
62 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
63 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
64 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
65 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
66 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
67 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
68 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
69 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
70 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment tout cela fonctionne</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li>
76 </ul><h3>Voir aussi</h3>
78 <li><a href="worker.html">Le MPM worker</a></li>
80 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
82 <h2><a name="how-it-works" id="how-it-works">Comment tout cela fonctionne</a></h2>
83 <p>Ce MPM essaie de résoudre le 'problème keep alive' de HTTP.
84 Lorsqu'un client a soumis une première requête, il peut garder la
85 connexion ouverte, et envoyer les requêtes suivantes en utilisant le
86 même socket. Ceci permet de réduire de manière significative la
87 surcharge due à la création de connexions TCP.
88 Cependant, le serveur HTTP Apache
89 mobilise en principe à cet effet un processus/thread enfant en
90 attente des données du client, ce qui amène son propre lot
91 d'inconvénients. Pour résoudre ce problème, <code class="module"><a href="../mod/event.html">event</a></code>
92 utilise un thread dédié qui gère non seulement les sockets en
93 écoute, mais aussi tous les sockets en état Keep Alive.</p>
95 <p>Le MPM présuppose que l'implémentation <code>apr_pollset</code>
96 sous-jacente est raisonnablement sûre du point de vue des threads.
97 Ceci permet au MPM d'éviter un verrouillage de haut niveau excessif,
98 ou de devoir activer le thread en écoute afin de lui envoyer un
99 socket keep alive. Tout ceci n'est actuellement compatible qu'avec
102 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
103 <div class="section">
104 <h2><a name="requirements" id="requirements">Prérequis</a></h2>
105 <p>Ce MPM dépend des opérations atomiques compare-and-swap
106 d'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> pour la synchronisation des threads. Si
107 vous compilez pour une plate-forme x86 et n'avez pas besoin du
108 support 386, ou si vous compilez pour une plate-forme SPARC et
109 n'avez pas besoin du support pre-UltraSPARC, ajoutez
110 <code>--enable-nonportable-atomics=yes</code> aux arguments du
111 script <code class="program"><a href="../programs/configure.html">configure</a></code>. Ceci permettra à APR
112 d'implémenter les opérations atomiques en utilisant des instructions
113 performantes indisponibles avec les processeurs plus
116 <p>Ce MPM ne fonctionne pas de manière optimale sur les
117 plates-formes plus anciennes qui ne gèrent pas correctement les
118 threads, mais ce problème est sans objet du fait du prérequis
119 concernant EPoll ou KQueue.</p>
123 <li>Pour utiliser ce MPM sous FreeBSD, la version 5.3 ou
124 supérieure de ce système est recommandée. Il est cependant
125 possible d'exécuter ce MPM sous FreeBSD 5.2.1 si vous utilisez
126 <code>libkse</code> (voir <code>man libmap.conf</code>).</li>
128 <li>Pour NetBSD, il est recommander d'utiliser la version 2.0 ou
131 <li>Pour Linux, un noyau 2.6 est recommandé. Il faut aussi
132 s'assurer que votre version de <code>glibc</code> a été compilée
133 avec le support pour EPoll.</li>
138 <div class="bottomlang">
139 <p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> |
140 <a href="../fr/mod/event.html" title="Français"> fr </a></p>
141 </div><div id="footer">
142 <p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
143 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>