home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F278172_worker.html.de < prev    next >
Extensible Markup Language  |  2004-05-18  |  13KB  |  170 lines

  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="de" xml:lang="de"><head><!--
  4.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  5.               This file is generated from xml source: DO NOT EDIT
  6.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  7.       -->
  8. <title>worker - Apache HTTP Server</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>
  13. <body>
  14. <div id="page-header">
  15. <p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
  16. <p class="apache">Apache HTTP Server Version 2.0</p>
  17. <img alt="" src="../images/feather.gif" /></div>
  18. <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
  19. <div id="path">
  20. <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs-project/">Dokumentation</a> > <a href="../">Version 2.0</a> > <a href="./">Module</a></div>
  21. <div id="page-content">
  22. <div id="preamble"><h1>Apache-MPM worker</h1>
  23. <div class="toplang">
  24. <p><span>Verfⁿgbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> |
  25. <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
  26. <a href="../es/mod/worker.html" hreflang="es" rel="alternate" title="Espa±ol"> es </a> |
  27. <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
  28. </div>
  29. <table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Multi-Processing-Modul, das einen Hybrid-Webserver mit
  30.   Multi-Thread und Multi-Prozess-Unterstⁿtzung implementiert</td></tr>
  31. <tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr>
  32. <tr><th><a href="module-dict.html#ModuleIdentifier">Modulbezeichner:</a></th><td>mpm_worker_module</td></tr>
  33. <tr><th><a href="module-dict.html#SourceFile">Quelltext-Datei:</a></th><td>worker.c</td></tr></table>
  34. <h3>Zusammenfassung</h3>
  35.  
  36.     <p>Dieses Multi-Processing-Modul (MPM) implementiert einen Hybrid-Server
  37.     mit Multi-Thread und Multi-Prozess-Unterstⁿtzung. Durch die Verwendung
  38.     von Threads fⁿr die Bedienung von Anfragen ist er in der Lage,
  39.     eine gro▀e Anzahl von Anfragen mit weniger Systemressourcen als
  40.     ein Prozess-basierter Server zu bedienen. Er behΣlt jedoch viel von
  41.     der StabilitΣt eines Prozess-basierten Servers bei, indem er
  42.     mehrere Prozesse verfⁿgbar hΣlt, jeden mit etlichen Threads.</p>
  43.  
  44.     <p>Die wichtigsten Direktiven zur Steuerung des MPMs sind <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, welche die Anzahl
  45.     der Threads beeinflusst, die von jedem Kindprozess verwendet werden, und
  46.     <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>, welche die
  47.     maximale Gesamtzahl an Threads regelt, die gestartet werden
  48.     k÷nnen.</p>
  49. </div>
  50. <div id="quickview"><h3 class="directives">Direktiven</h3>
  51. <ul id="toc">
  52. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
  53. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
  54. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
  55. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li>
  56. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
  57. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
  58. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li>
  59. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
  60. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
  61. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
  62. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
  63. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
  64. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
  65. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
  66. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
  67. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
  68. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
  69. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
  70. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
  71. <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
  72. </ul>
  73. <h3>Themen</h3>
  74. <ul id="topics">
  75. <li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Arbeitsweise</a></li>
  76. </ul><h3>Siehe auch</h3>
  77. <ul class="seealso">
  78. <li><a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen
  79.   und Ports</a></li>
  80. </ul></div>
  81. <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
  82. <div class="section">
  83. <h2><a name="how-it-works" id="how-it-works">Arbeitsweise</a></h2>
  84.     <p>Ein einzelner Steuerprozess (der Elternprozess) ist fⁿr den
  85.     Start der Kindprozesse verantwortlich. Jeder Kindprozess erstellt eine
  86.     feste Anzahl von Server-Threads, wie durch die <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>-Direktive
  87.     angegeben, sowie einen "Listener-Thread", der auf Verbindungen wartet und
  88.     diese an einen Server-Thread zur Bearbeitung weiterreicht, sobald sie
  89.     eintreffen.</p>
  90.  
  91.     <p>Der Apache versucht immer, einen Vorrat von <dfn>freien</dfn> oder
  92.     unbeschΣftigten Threads zu verwalten, die zur Bedienung
  93.     hereinkommender Anfragen bereit stehen. Auf diese Weise brauchen
  94.     Clients nicht auf die Erstellung eines neuen Threads oder Prozesses
  95.     zu warten, bevor ihre Anfrage bedient werden kann. Die Anzahl der
  96.     Prozesse, die anfangs gestartet wird, wird mit der Direktive
  97.     <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> festgelegt.
  98.     Dann, wΣhrend des Betriebes, berechnet der Apache die Gesamtzahl
  99.     der unbeschΣftigten Threads und forkt oder beendet Prozesse, um diese
  100.     Anzahl innerhalb der durch <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> und <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> angegebenen Grenzen
  101.     zu halten. Da dieser Prozess sehr selbstregulierend ist, ist es nur selten
  102.     notwendig, die Voreinstellung dieser Direktiven zu Σndern. Die
  103.     maximale Anzahl Clients, die gleichzeitig bedient werden kann (d.h.
  104.     die maximale Gesamtzahl der Threads in allen Prozessen), wird mit der
  105.     Direktive <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
  106.     festgelegt. Die maximale Anzahl der aktiven Kindprozesse ergibt sich aus
  107.     <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> dividiert durch
  108.     <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p>
  109.  
  110.     <p>Zwei Direktiven legen harte Limits fⁿr die Anzahl der aktiven
  111.     Kindprozesse fest und k÷nnen nur geΣndert werden, indem der Server
  112.     komplett gestoppt und dann wieder neu gestartet wird. <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> stellt die obere Grenze fⁿr
  113.     die Anzahl der aktiven Kindprozesse dar und muss gr÷▀er oder
  114.     gleich dem Quotienten aus <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> und <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> ist die obere Grenze fⁿr
  115.     die Anzahl der Server-Threads und muss gr÷▀er oder gleich
  116.     <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> sein. Sofern fⁿr
  117.     diese Direktiven keine Voreinstellungen verwendet werden, sollten sie vor
  118.     allen anderen <code class="module"><a href="../mod/worker.html">worker</a></code>-Direktiven platziert werden.</p>
  119.  
  120.     <p>Neben den normalen aktiven Kindprozessen gibt es m÷glicherweise noch
  121.     zusΣtzliche Kindprozesse, welche gerade beendet werden, wo allerdings
  122.     zumindest noch ein Server-Thread eine existierende Verbindung bearbeitet.
  123.     Obwohl die tatsΣchlich zu erwartende Anzahl deutlich kleiner ist,
  124.     k÷nnen bis zu <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>
  125.     solcher Prozesse auftreten. Dieses Verhalten k÷nnen Sie vermeiden,
  126.     indem Sie die Terminierung einzelner Kindprozesse wie folgt abschalten:</p>
  127.  
  128.     <ul>
  129.        <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> auf Null</li>
  130.  
  131.        <li>setzen Sie den Wert von <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> auf den gleichen Wert wie <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code></li>
  132.     </ul>
  133.  
  134.     <p>Eine typische Konfiguration der Prozess-Thread-Steuerung fⁿr
  135.     das MPM <code class="module"><a href="../mod/worker.html">worker</a></code> k÷nnte wie folgt aussehen:</p>
  136.  
  137.     <div class="example"><p><code>
  138.       ServerLimit         16<br />
  139.       StartServers         2<br />
  140.       MaxClients         150<br />
  141.       MinSpareThreads     25<br />
  142.       MaxSpareThreads     75<br />
  143.       ThreadsPerChild     25
  144.     </code></p></div>
  145.  
  146.     <p>WΣhrend der Elternprozess unter Unix normalerweise als
  147.     <code>root</code> gestartet wird, um sich an Port 80 binden zu k÷nnen,
  148.     werden die Kindprozesse und Threads unter einem weniger privilegierten
  149.     Benutzer gestartet. Die Direktiven <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> und <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> werden dazu verwendet, die
  150.     Privilegien der Apache-Kindprozesse festzulegen. Die Kindprozesse
  151.     mⁿssen in der Lage sein, alle Inhalte zu lesen, die sie ausliefern
  152.     sollen, sollten darⁿber hinaus jedoch so wenig wie m÷glich Rechte
  153.     besitzen. ZusΣtzlich, solange nicht <a href="../suexec.html">suexec</a> verwendet wird, legen diese
  154.     Direktiven auch die Privilegien fest, die von CGI-Skripts
  155.     geerbt werden.</p>
  156.  
  157.     <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
  158.     bestimmt, wie hΣufig der Server Prozesse erneuert, indem er alte
  159.     beendet und neue startet.</p>
  160. </div>
  161. </div>
  162. <div class="bottomlang">
  163. <p><span>Verfⁿgbare Sprachen: </span><a href="../de/mod/worker.html" title="Deutsch"> de </a> |
  164. <a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
  165. <a href="../es/mod/worker.html" hreflang="es" rel="alternate" title="Espa±ol"> es </a> |
  166. <a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
  167. </div><div id="footer">
  168. <p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
  169. <p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
  170. </body></html>