From 521f5710684d813f50ac5673aa87aa5300ba2761 Mon Sep 17 00:00:00 2001 From: Joshua Slive Date: Sun, 2 Jun 2002 15:47:38 +0000 Subject: [PATCH] Simplify the worker mpm docs a little. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95469 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/worker.xml | 77 ++++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 29 deletions(-) diff --git a/docs/manual/mod/worker.xml b/docs/manual/mod/worker.xml index c5c1caa6c0..af18c1f633 100644 --- a/docs/manual/mod/worker.xml +++ b/docs/manual/mod/worker.xml @@ -11,49 +11,68 @@

This Multi-Processing Module (MPM) implements a hybrid - multi-process multi-threaded server. Each process has a fixed + multi-process multi-threaded server. By using threads to serve + requests, it is able to serve a large number of requests with + less system resources than a process-based server. Yet it + retains much of the stability of a process-based server by + keeping multiple processes available, each with many threads.

+ +

The most important directives used to control this MPM are + ThreadsPerChild and + MaxClients. By multiplying + together the value of these directives you define the total number + of simultaneous connections that the server can handle.

+ +
+Setting which addresses and + ports Apache uses + +
How it Works +

Each process has a fixed number of threads. The server adjusts to handle load by increasing or decreasing the number of processes.

A single control process is responsible for launching child - processes. Each child process creates a fixed number of threads - as specified in the ThreadsPerChild directive. The - individual threads then listen for connections and serve them - when they arrive.

+ processes. Each child process creates a fixed number of threads as + specified in the ThreadsPerChild directive. The + individual threads then listen for connections and serve them when + they arrive.

Apache always tries to maintain a pool of spare or idle server threads, which stand ready to serve incoming requests. In this way, clients do not need to wait for a new threads or processes to be created before their requests can be served. Apache assesses the total number of idle threads in all - processes, and forks or kills processes to keep this number - within the boundaries specified by MinSpareThreads - and MaxSpareThreads. Since this process is very - self-regulating, it is rarely necessary to modify these - directives from their default values. The maximum number of + processes, and forks or kills processes to keep this number within + the boundaries specified by MinSpareThreads and MaxSpareThreads. Since this + process is very self-regulating, it is rarely necessary to modify + these directives from their default values. The maximum number of clients that may be served simultaneously is determined by multiplying the maximum number of server processes that will be - created (MaxClients) by the number of threads - created in each process (ThreadsPerChild).

- -

While the parent process is usually started as root under - Unix in order to bind to port 80, the child processes and - threads are launched by Apache as a less-privileged user. The - User and Group directives are used to - set the privileges of the Apache child processes. The child - processes must be able to read all the content that will be - served, but should have as few privileges beyond that as - possible. In addition, unless suexec is used, these directives also - set the privileges which will be inherited by CGI scripts.

+ created (MaxClients) by + the number of threads created in each process (ThreadsPerChild).

-

MaxRequestsPerChild controls how frequently the - server recycles processes by killing old ones and launching new - ones.

+

While the parent process is usually started as root under Unix + in order to bind to port 80, the child processes and threads are + launched by Apache as a less-privileged user. The User and Group directives are used to set + the privileges of the Apache child processes. The child processes + must be able to read all the content that will be served, but + should have as few privileges beyond that as possible. In + addition, unless suexec is used, + these directives also set the privileges which will be inherited + by CGI scripts.

-

See also: Setting which addresses and - ports Apache uses.

- +

MaxRequestsPerChild + controls how frequently the server recycles processes by killing + old ones and launching new ones.

+
+ CoreDumpDirectory -- 2.40.0