summaryrefslogtreecommitdiff
path: root/usr.sbin/httpd/htdocs/manual/process-model.html.html
blob: d26fe3cee9d6ce6d2a42e6ded1ee77d59470ab2a (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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="generator" content="HTML Tidy, see www.w3.org" />

    <title>Server Pool Management</title>
  </head>
  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->

  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
  vlink="#000080" alink="#FF0000">
        <div align="CENTER">
      <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 

      <h3>Apache HTTP Server</h3>
    </div>



    <h1 align="CENTER">Server Pool Management</h1>
    <hr />

    <p>We found that many people were using values for "MaxServers"
    either too high or too low, and were hanging themselves on it.
    The model we adopted is still based on long-lived
    minimal-forking processes, but instead of specifying one number
    of persistent processes, the web-master specifies a maximum and
    minimum number of processes to be "spare" - every couple of
    seconds the parent checks the actual number of spare servers
    and adjusts accordingly. This should keep the number of servers
    concurrently running relatively low while still ensuring
    minimal forking.</p>

    <p>We renamed the current StartServers to MinSpareServers,
    created separate StartServers parameter which means what it
    says, and renamed MaxServers to MaxSpareServers (though the old
    name still works, for NCSA 1.4 back-compatibility). The old
    names were generally regarded as too confusing.</p>

    <p>The defaults for each variable are:</p>
<pre>
MinSpareServers         5
MaxSpareServers         10
StartServers            5
</pre>
    There is an absolute maximum number of simultaneous children
    defined by a compile-time limit which defaults to 256 and a
    "MaxClients" directive which specifies the number of
    simultaneous children that will be allowed. MaxClients can be
    adjusted up to the compile-time limit (HARD_SERVER_LIMIT,
    defined in httpd.h). If you need more than 256 simultaneous
    children, you need to modify both HARD_SERVER_LIMIT and
    MaxClients. 

    <p>In versions before 1.2, HARD_SERVER_LIMIT defaulted to
    150.</p>

    <p>We do not recommend changing either of these values
    unless:</p>

    <ol>
      <li>You know you have the server resources to handle
      more</li>

      <li>You use the machine for other purposes and must limit the
      amount of memory Apache uses</li>
    </ol>
        <hr />

    <h3 align="CENTER">Apache HTTP Server</h3>
    <a href="./"><img src="images/index.gif" alt="Index" /></a>

  </body>
</html>