]> granicus.if.org Git - apache/commitdiff
add docs for WorkerStackSize directive
authorJeff Trawick <trawick@apache.org>
Sat, 13 Mar 2004 14:07:40 +0000 (14:07 +0000)
committerJeff Trawick <trawick@apache.org>
Sat, 13 Mar 2004 14:07:40 +0000 (14:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102948 13f79535-47bb-0310-9956-ffa450edef68

14 files changed:
docs/manual/mod/directives.html.en
docs/manual/mod/leader.html.en
docs/manual/mod/leader.xml
docs/manual/mod/mpm_common.html.en
docs/manual/mod/mpm_common.xml
docs/manual/mod/mpm_winnt.html.en
docs/manual/mod/mpm_winnt.xml
docs/manual/mod/perchild.html.en
docs/manual/mod/perchild.xml
docs/manual/mod/quickreference.html.en
docs/manual/mod/threadpool.html.en
docs/manual/mod/threadpool.xml
docs/manual/mod/worker.html.en
docs/manual/mod/worker.xml

index 456c8682d9d659a10ce2470d1cae4716a6006fed..5dcf6e2dcbf6c3f223ff4b2ef27dc338a9b9741f 100644 (file)
 <li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
 <li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
 <li><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></li>
+<li><a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 <li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li>
 </ul></div>
 <div class="bottomlang">
index 85df0e06b1438560163936db1a67032f5bcac668..847131a4635e15362ed15fa58f58bd4677bcf5cc 100644 (file)
@@ -74,6 +74,7 @@ MPM</td></tr>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 </ul>
 </div>
 
index cdc3783ef0e817b73e1d2d479730f817ee1255bc..baa01958392a453e53c0ca3d597fbc5dff8c4a8f 100644 (file)
@@ -89,5 +89,7 @@ MPM</description>
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>User</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
 
 </modulesynopsis>
index 843ec6cff7a422ec84b4634abe42b217c0306f5c..a99a5eb7cf323c8d5f3ddc42dc99e77c3acfe2d1 100644 (file)
@@ -51,6 +51,7 @@ more than one multi-processing module (MPM)</td></tr>
 <li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#workerstacksize">WorkerStackSize</a></li>
 </ul>
 </div>
 
@@ -827,6 +828,50 @@ requests</td></tr>
       reasons.</p>
     </div>
 
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="WorkerStackSize" id="WorkerStackSize">WorkerStackSize</a> <a name="workerstacksize" id="workerstacksize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The size in bytes of the stack used by threads handling 
+client connections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>WorkerStackSize <var>size</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>varies by operating system</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr>
+</table>
+    <p>The <code class="directive">WorkerStackSize</code> directive sets the 
+    size of the stack (for autodata) of threads which handle client
+    connections and call modules to help process those connections.  
+    In most cases the operating system default for stack size is 
+    reasonable, but there are some conditions where it may need to be 
+    adjusted:</p>
+
+    <ul>
+      <li>On platforms with a relatively small default thread stack size
+      (e.g., HP-UX), Apache may crash when using some third-party modules
+      which use a relatively large amount of autodata storage.  Those
+      same modules may have worked fine on other platforms where the
+      default thread stack size is larger.  This type of crash is
+      resolved by setting <code class="directive">WorkerStackSize</code> to a 
+      value higher than the operating system default.  This type of 
+      adjustment is necessary only if the provider of the third-party 
+      module specifies that it is required, or if diagnosis of an Apache 
+      crash indicates that the thread stack size was too small.</li>
+
+      <li>On platforms where the default thread stack size is 
+      significantly larger than necessary for the web server
+      configuration, a higher number of threads per child process
+      will be achievable if <code class="directive">WorkerStackSize</code> is
+      set to a value lower than the operating system default.  This type
+      of adjustment should only be made in a test environment which allows
+      the full set of web server processing can be exercised, as there
+      may be infrequent requests which require more stack to process.
+      A change in the web server configuration can invalidate the
+      current <code class="directive">WorkerStackSize</code> setting.</li>
+    </ul>
+
 </div>
 </div>
 <div class="bottomlang">
index 476e63e4aadfffe357c18c52f0ce0cf945763a5d..634c415acc7120931568e5faff29ce324c2a6701 100644 (file)
@@ -866,4 +866,51 @@ requests</description>
 </usage>
 </directivesynopsis>
 
+<directivesynopsis>
+<name>WorkerStackSize</name>
+<description>The size in bytes of the stack used by threads handling 
+client connections</description> 
+<syntax>WorkerStackSize <var>size</var></syntax>
+<default>varies by operating system</default>
+<contextlist><context>server config</context></contextlist>
+<modulelist><module>leader</module><module>mpm_winnt</module>
+<module>perchild</module><module>threadpool</module>
+<module>worker</module>
+</modulelist>
+<compatibility>Available in Apache 2.1 and later</compatibility>
+
+<usage>
+    <p>The <directive>WorkerStackSize</directive> directive sets the 
+    size of the stack (for autodata) of threads which handle client
+    connections and call modules to help process those connections.  
+    In most cases the operating system default for stack size is 
+    reasonable, but there are some conditions where it may need to be 
+    adjusted:</p>
+
+    <ul>
+      <li>On platforms with a relatively small default thread stack size
+      (e.g., HP-UX), Apache may crash when using some third-party modules
+      which use a relatively large amount of autodata storage.  Those
+      same modules may have worked fine on other platforms where the
+      default thread stack size is larger.  This type of crash is
+      resolved by setting <directive>WorkerStackSize</directive> to a 
+      value higher than the operating system default.  This type of 
+      adjustment is necessary only if the provider of the third-party 
+      module specifies that it is required, or if diagnosis of an Apache 
+      crash indicates that the thread stack size was too small.</li>
+
+      <li>On platforms where the default thread stack size is 
+      significantly larger than necessary for the web server
+      configuration, a higher number of threads per child process
+      will be achievable if <directive>WorkerStackSize</directive> is
+      set to a value lower than the operating system default.  This type
+      of adjustment should only be made in a test environment which allows
+      the full set of web server processing can be exercised, as there
+      may be infrequent requests which require more stack to process.
+      A change in the web server configuration can invalidate the
+      current <directive>WorkerStackSize</directive> setting.</li>
+    </ul>
+</usage>
+</directivesynopsis>
+
 </modulesynopsis>
index 7d86bfb0874ebfe23a005bfc345fde075432fb45..37af18f43fcc2ee1b780406ab1b562d3a833c0c0 100644 (file)
@@ -50,6 +50,7 @@ NT.</td></tr>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#win32disableacceptex">Win32DisableAcceptEx</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 </ul>
 </div>
 
index 8f24444f455c25568ab708e8cab3a1fc0cded8fc..ae2d996f6b6e6c1530d60bd02bd53d3496f920d5 100644 (file)
@@ -54,6 +54,8 @@ NT.</description>
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
 
 <directivesynopsis>
 <name>Win32DisableAcceptEx</name>
index c6e81de9fbc43f21b0607458e0bb4643a364fc53..6f49656eae247dc54a0a782b0e1cb809d916e1c4 100644 (file)
@@ -63,6 +63,7 @@ requests to be assigned a variety of different userids</td></tr>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 </ul>
 <h3>Topics</h3>
 <ul id="topics">
index 65fb79bd73e786a65b7ba5ca907c86ba8ec90e2e..7efbf614b227efdee783b6557c807e536ac3baf8 100644 (file)
@@ -172,6 +172,8 @@ uses</a></seealso>
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>User</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
 
 <directivesynopsis>
 <name>AssignUserID</name>
index 67638b91fa31277bf6b7f5a88f45305b3f849a78..64593c1051be46068f7f597647524fb33b8be817 100644 (file)
@@ -695,7 +695,9 @@ a given virtual host</td></tr>
 <tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
 a given virtual host</td></tr>
 <tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr><td><a href="mpm_common.html#workerstacksize">WorkerStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling 
+client connections</td></tr>
+<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
 set</td></tr>
 </table></div>
 <div class="bottomlang">
index fa8af439e0c99ee75dad3307ef15629998af9603..a1651523650d4e2d2d644a583bb2a870646b1d94 100644 (file)
@@ -67,6 +67,7 @@
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 </ul>
 </div>
 
index 4d026449b394022947959cc26954ab39606a30c8..7fcf070bfad9cec24d46f30345fb698ca9c21f0e 100644 (file)
@@ -84,5 +84,7 @@
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>User</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
 
 </modulesynopsis>
index 47219929ef92e1f5d2b16827bd69466a6c6e70be..cac9244ba018962974cdb26abe23f4d73b6a687b 100644 (file)
@@ -67,6 +67,7 @@
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
 <li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
 </ul>
 <h3>Topics</h3>
 <ul id="topics">
index c579d404a0a170a9582d01f666cd2d2480e197c8..58360f2a7c2f86a0d0781dd7cdf50bceefc48a91 100644 (file)
@@ -175,5 +175,7 @@ uses</a></seealso>
 </directivesynopsis>
 <directivesynopsis location="mpm_common"><name>User</name>
 </directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
 
 </modulesynopsis>