Httpd Multi-Processing Module Concepts

From NovaOrdis Knowledge Base
Revision as of 23:13, 1 January 2017 by Ovidiu (talk | contribs) (→‎worker)
Jump to navigation Jump to search

External

Internal

Overview

The Multi-Processing Module (MPM) is a fundamental component of the server that is responsible for binding to network ports, accepting requests and dispatching children to handle requests. From a user's perspective, an MPM appears much like other Apache module, with the main difference that one and only one MPM must be loaded into the server at any time. The MPM must be chosen during compilation configuration and compiled into the server with the --with-mpm=NAME directive. The available MPMs are: prefork, worker, mpm_winnt, event, beds, mpm_netware, mpmt_os2:

MPMs

prefork

"prefork" is the default MPM for Unix. It determines httpd to function as a non-threaded web server, where each request is handled by a separated OS-level process.

worker

The worker MPM enables httpd to function as a hybrid multi-process/multi-threaded web server. More details about the worker MPM:

mpm_winnt

The default MPM for Windows.

How to Find Out which MPM is Being Used

How to Find Out which MPM is Being Used

Compiling a Sever with a Specific MPM