From: Joshua Slive Date: Wed, 22 Nov 2000 06:33:19 +0000 (+0000) Subject: Add some docs to mpmt_pthread.html. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6f7605e8bfc1c9e4eb8b787277a2e10ff01e9e0;p=apache Add some docs to mpmt_pthread.html. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87062 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mpmt_pthread.html b/docs/manual/mod/mpmt_pthread.html index 5436378ceb..e84450f06d 100644 --- a/docs/manual/mod/mpmt_pthread.html +++ b/docs/manual/mod/mpmt_pthread.html @@ -16,8 +16,8 @@

Multi-Processing Module mpmt_pthread

-This Multi-Processing Module controls process and thread creation -using the pthread interface. +This Multi-Processing Module implements a hybrid multi-threaded +multi-process web server.

Summary

This Multi-Processing Module (MPM) is the default for most unix-like -operating systems. It uses pthread system calls to create a hybrid +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