From 2abaffbeb0e15b487f943463bf4564c5198fff55 Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Mon, 19 Nov 2001 18:15:26 +0000 Subject: [PATCH] use the old threaded.html contents for worker MPM docs (not carefully examined, but there isn't much there that could be wrong) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92038 13f79535-47bb-0310-9956-ffa450edef68 --- STATUS | 4 +- docs/manual/mod/worker.html | 121 ++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 docs/manual/mod/worker.html diff --git a/STATUS b/STATUS index cd19693148..82a837958d 100644 --- a/STATUS +++ b/STATUS @@ -1,5 +1,5 @@ APACHE 2.0 STATUS: -*-text-*- -Last modified at [$Date: 2001/11/19 18:07:27 $] +Last modified at [$Date: 2001/11/19 18:15:26 $] Release: @@ -319,8 +319,6 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: -0: Aaron (premature decision, needs more discussion) -0: Cliff (I think the default config should be the safest possible) - * The worker MPM needs some doc. - PRs that have been suspended forever waiting for someone to put them into 'the next release': diff --git a/docs/manual/mod/worker.html b/docs/manual/mod/worker.html new file mode 100644 index 0000000000..48e4d6642c --- /dev/null +++ b/docs/manual/mod/worker.html @@ -0,0 +1,121 @@ + + + + + + + Apache MPM worker + + + + + + +

Multi-Processing Module worker

+ +

This Multi-Processing Module implements a hybrid + multi-threaded multi-process web server.

+ +

Status: MPM
+ Source File: worker.c
+ Module Identifier: + mpm_worker_module

+ +

Summary

+ +

This Multi-Processing Module (MPM) is the default for most + unix-like operating systems. It implements a hybrid + multi-process multi-threaded server. 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.

+ +

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 + 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.

+ +

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

+ +

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

+ +

Directives

+ + + + + + -- 2.40.0