mpm_netware.html revision 2de56243b49d1c39dbc467e3f9daab152c8691b8
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
d0e518695adc90b82233b99af7dffbb3d3f92c00amw XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
d0e518695adc90b82233b99af7dffbb3d3f92c00amw This file is generated from xml source: DO NOT EDIT
d0e518695adc90b82233b99af7dffbb3d3f92c00amw XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
d0e518695adc90b82233b99af7dffbb3d3f92c00amw --><title>mpm_netware- Apache HTTP Server</title><link href="/style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img src="/images/sub.gif" alt="[APACHE DOCUMENTATION]"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mpm_netware</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td>Multi-Processing Module implementing an exclusively threaded web
d0e518695adc90b82233b99af7dffbb3d3f92c00amw server optimized for Novell NetWare</td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>mpm_netware_module</td></tr></table></td></tr></table><h2>Summary</h2>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>This Multi-Processing Module (MPM) implements an exclusively threaded web server
d0e518695adc90b82233b99af7dffbb3d3f92c00amw that has been optimized for Novell NetWare.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>The main thread is responsible for launching child
d0e518695adc90b82233b99af7dffbb3d3f92c00amw worker threads which listen for connections and serve them when they
d0e518695adc90b82233b99af7dffbb3d3f92c00amw arrive. Apache always tries to maintain several <em>spare</em>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw or idle worker threads, which stand ready to serve incoming
d0e518695adc90b82233b99af7dffbb3d3f92c00amw requests. In this way, clients do not need to wait for a new
d0e518695adc90b82233b99af7dffbb3d3f92c00amw child threads to be spawned before their requests can be
d0e518695adc90b82233b99af7dffbb3d3f92c00amw served.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>The <code>StartThreads</code>, <code>MinSpareThreads</code>,
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <code>MaxSpareThreads</code>, and <code>MaxThreads</code>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw regulate how the main thread creates worker threads to serve
d0e518695adc90b82233b99af7dffbb3d3f92c00amw requests. In general, Apache is very self-regulating, so most
d0e518695adc90b82233b99af7dffbb3d3f92c00amw sites do not need to adjust these directives from their default
d0e518695adc90b82233b99af7dffbb3d3f92c00amw values. Sites which need to serve more than 250 simultaneous
d0e518695adc90b82233b99af7dffbb3d3f92c00amw requests may need to increase <code>MaxThreads</code>, while
d0e518695adc90b82233b99af7dffbb3d3f92c00amw sites with limited memory may need to decrease
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <code>MaxThreads</code> to keep the server from thrashing (spawning and
d0e518695adc90b82233b99af7dffbb3d3f92c00amw terminating idle threads). More information about
d0e518695adc90b82233b99af7dffbb3d3f92c00amw tuning process creation is provided in the <a href="/misc/perf-tuning.html">performance hints</a>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw documentation.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p><code>MaxRequestsPerChild</code> controls how frequently the
d0e518695adc90b82233b99af7dffbb3d3f92c00amw server recycles processes by killing old ones and launching new
d0e518695adc90b82233b99af7dffbb3d3f92c00amw ones. On the NetWare OS it is highly recommended that this directive
d0e518695adc90b82233b99af7dffbb3d3f92c00amw remain set to 0. This allows worker threads to continue servicing
d0e518695adc90b82233b99af7dffbb3d3f92c00amw requests indefinitely.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>See also: <a href="/bind.html">Setting which addresses and
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<h2>Directives</h2><ul><li><a href="mpm_common.html#listen">Listen</a></li><li><a href="mpm_common.html#listenbacklog">ListenBacklog</a></li><li><a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="#maxsparethreads">MaxSpareThreads</a></li><li><a href="#maxthreads">MaxThreads</a></li><li><a href="#minsparethreads">MinSpareThreads</a></li><li><a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li><li><a href="#startthreads">StartThreads</a></li><li><a href="#threadstacksize">ThreadStackSize</a></li></ul><hr/><h2><a name="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxSpareThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxSpareThreads 100</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>The <code class="directive">MaxSpareThreads</code> directive sets the
d0e518695adc90b82233b99af7dffbb3d3f92c00amw desired maximum number of <em>idle</em> worker threads. An idle
d0e518695adc90b82233b99af7dffbb3d3f92c00amw worker thread is one which is not handling a request. If there are
d0e518695adc90b82233b99af7dffbb3d3f92c00amw more than MaxSpareThreads idle, then the main thread will kill off
d0e518695adc90b82233b99af7dffbb3d3f92c00amw the excess worker threads.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>Tuning of this parameter should only be necessary on very
d0e518695adc90b82233b99af7dffbb3d3f92c00amw busy sites. Setting this parameter to a large number is almost
d0e518695adc90b82233b99af7dffbb3d3f92c00amw always a bad idea.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<hr/><h2><a name="MaxThreads">MaxThreads</a> <a name="maxthreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MaxThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MaxThreads 250</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<p>The MaxThreads directive sets the desired maximum
d0e518695adc90b82233b99af7dffbb3d3f92c00amw number worker threads allowable.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<hr/><h2><a name="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>MinSpareThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>MinSpareThreads 10</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<p>The <code class="directive">MinSpareThreads</code> directive sets the
d0e518695adc90b82233b99af7dffbb3d3f92c00amwdesired minimum number of <em>idle</em> worker threads. An idle worker
d0e518695adc90b82233b99af7dffbb3d3f92c00amwthread is one which is not handling a request. If there are fewer than
d0e518695adc90b82233b99af7dffbb3d3f92c00amwMinSpareThreads idle, then the main thread spawns new worker.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>Tuning of this parameter should only be necessary on very
d0e518695adc90b82233b99af7dffbb3d3f92c00amw busy sites. Setting this parameter to a large number is almost
d0e518695adc90b82233b99af7dffbb3d3f92c00amw always a bad idea.</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<hr/><h2><a name="StartThreads">StartThreads</a> <a name="startthreads">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>StartThreads <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>StartThreads 50</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<p>The StartThreads directive sets the desired
d0e518695adc90b82233b99af7dffbb3d3f92c00amw number of worker threads to spawn and startup</p>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw<hr/><h2><a name="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td>ThreadStackSize <em>number</em></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ThreadStackSize 65536</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mpm_netware</td></tr></table></td></tr></table>
d0e518695adc90b82233b99af7dffbb3d3f92c00amw <p>This directive tells the server what stack size to use for
d0e518695adc90b82233b99af7dffbb3d3f92c00amw each of the running threads. If you ever get a stack overflow
d0e518695adc90b82233b99af7dffbb3d3f92c00amw you will need to bump this number to a higher setting.</p>