threaded.html revision e3ec3193b69b45923c14915fa3ee3bc1f0215baf
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
031b91a62d25106ae69d4693475c79618dd5e884fielding<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
b8d55029467b9f139d081cf38c6d06ff45e742a9nd BGCOLOR="#FFFFFF"
b8d55029467b9f139d081cf38c6d06ff45e742a9nd TEXT="#000000"
b8d55029467b9f139d081cf38c6d06ff45e742a9nd LINK="#0000FF"
b8d55029467b9f139d081cf38c6d06ff45e742a9nd VLINK="#000080"
b8d55029467b9f139d081cf38c6d06ff45e742a9nd ALINK="#FF0000"
b8d55029467b9f139d081cf38c6d06ff45e742a9nd<!--#include virtual="header.html" -->
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingThis Multi-Processing Module implements a hybrid multi-threaded
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingmulti-process web server.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingHREF="module-dict.html#SourceFile"
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingHREF="module-dict.html#ModuleIdentifier"
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding><STRONG>Module Identifier:</STRONG></A> mpm_threaded_module
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>This Multi-Processing Module (MPM) is the default for most unix-like
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingoperating systems. It implements a hybrid
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingmulti-process multi-threaded server. Each process has a fixed number
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingof threads. The server adjusts to handle load by increasing or
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingdecreasing the number of processes.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>A single control process is responsible for launching child
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingprocesses. Each child process creates a fixed number of threads as
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingspecified in the <code>ThreadsPerChild</code> directive.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingThe individual threads then listen for connections and
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingserve them when they arrive.</p>
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding<p>Apache always tries to maintain a pool of <em>spare</em> or idle
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingserver threads, which stand ready to serve incoming requests. In this
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingway, clients do not need to wait for a new threads or processes to be
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingcreated before their requests can be served. Apache assesses the
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingtotal number of idle threads in all processes, and forks or kills
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingprocesses to keep this number within the boundaries specified by
<!--#include virtual="footer.html" -->