xml version="1.0" encoding="ISO-8859-1"?>
|
Apache HTTP Server Version 2.2 ![]() Apache MPM worker
SummaryThis Multi-Processing Module (MPM) implements a hybrid multi-process multi-threaded server. By using threads to serve requests, it is able to serve a large number of requests with fewer system resources than a process-based server. However, 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
Directives
TopicsSee alsoHow it WorksA single control process (the parent) is responsible for launching
child processes. Each child process creates a fixed number of server
threads as specified in the StartServers
directive. During operation, 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 (i.e., the maximum total
number of threads in all processes) is determined by the
MaxClients directive.
The maximum number of active child processes is determined by
the MaxClients
directive divided by the
ThreadsPerChild directive.
Two directives set hard limits on the number of active child
processes and the number of server threads in a child process,
and can only be changed by fully stopping the server and then
starting it again. In addition to the set of active child processes, there may
be additional child processes which are terminating, but where at
least one server thread is still handling an existing client
connection. Up to
A typical configuration of the process-thread controls in
the
While the parent process is usually started as
|