summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mpm_netware.xml
blob: e10f259409717bb2cadc6e729ffa8e6963d5b4af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.xsl"?>
<modulesynopsis>
<name>mpm_netware</name>
<description>Multi-Processing Module implementing an exclusively threaded web
    server optimized for Novell NetWare</description>
<status>MPM</status>
<sourcefile>mpm_netware.c</sourcefile>
<identifier>mpm_netware_module</identifier>

<summary>
    <p>This Multi-Processing Module (MPM) implements an exclusively threaded web server
    that has been optimized for Novell NetWare.</p>

    <p>The main thread is responsible for launching child
    worker threads which listen for connections and serve them when they
    arrive. Apache always tries to maintain several <em>spare</em>
    or idle worker threads, which stand ready to serve incoming
    requests. In this way, clients do not need to wait for a new
    child threads to be spawned before their requests can be
    served.</p>

    <p>The <code>StartThreads</code>, <code>MinSpareThreads</code>,
    <code>MaxSpareThreads</code>, and <code>MaxThreads</code>
    regulate how the main thread creates worker threads to serve
    requests. In general, Apache is very self-regulating, so most
    sites do not need to adjust these directives from their default
    values. Sites which need to serve more than 250 simultaneous
    requests may need to increase <code>MaxThreads</code>, while
    sites with limited memory may need to decrease
    <code>MaxThreads</code> to keep the server from thrashing (spawning and
    terminating idle threads). More information about
    tuning process creation is provided in the <a
    href="../misc/perf-tuning.html">performance hints</a>
    documentation.</p>

    <p><code>MaxRequestsPerChild</code> controls how frequently the
    server recycles processes by killing old ones and launching new
    ones.&nbsp; On the NetWare OS it is highly recommended that this directive
    remain set to 0.&nbsp; This allows worker threads to continue servicing
    requests indefinitely.</p>

    <p>See also: <a href="../bind.html">Setting which addresses and
    ports Apache uses</a>.</p>
</summary>

<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>

<directivesynopsis>
<name>MaxThreads</name>
<syntax>MaxThreads <em>number</em></syntax>
<default>MaxThreads 250</default>
<contextlist><context>server config</context></contextlist>

<usage>
<p>The MaxThreads directive sets the desired maximum
    number worker threads allowable.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxSpareThreads</name>
<syntax>MaxSpareThreads <em>number</em></syntax>
<default>MaxSpareThreads 100</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>The <directive>MaxSpareThreads</directive> directive sets the
    desired maximum number of <em>idle</em> worker threads. An idle
    worker thread is one which is not handling a request. If there are
    more than MaxSpareThreads idle, then the main thread will kill off
    the excess worker threads.</p>

    <p>Tuning of this parameter should only be necessary on very
    busy sites. Setting this parameter to a large number is almost
    always a bad idea.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MinSpareThreads</name>
<syntax>MinSpareThreads <em>number</em></syntax>
<default>MinSpareThreads 10</default>
<contextlist><context>server config</context></contextlist>

<usage>
<p>The <directive>MinSpareThreads</directive> directive sets the
desired minimum number of <em>idle</em> worker threads. An idle worker
thread is one which is not handling a request. If there are fewer than
MinSpareThreads idle, then the main thread spawns new worker.</p>

    <p>Tuning of this parameter should only be necessary on very
    busy sites. Setting this parameter to a large number is almost
    always a bad idea.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>StartThreads</name>
<syntax>StartThreads <em>number</em></syntax>
<default>StartThreads 50</default>
<contextlist><context>server config</context></contextlist>

<usage>
<p>The StartThreads directive sets the desired
    number of worker threads to spawn and startup</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadStackSize</name>
<syntax>ThreadStackSize <em>number</em></syntax>
<default>ThreadStackSize 65536</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>This directive tells the server what stack size to use for
    each of the running threads. If you ever get a stack overflow
    you will need to bump this number to a higher setting.</p>
</usage>
</directivesynopsis>

</modulesynopsis>