<-
Apache > HTTP Server > Documentation > Version 2.0 > Modules

Apache Module worker

Description: Multi-Processing Module implementing a hybrid multi-threaded multi-process web server
Status: MPM
Module Identifier: mpm_worker_module
Source File: worker.c

Summary

This 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 less system resources than a process-based server. Yet 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 ThreadsPerChild, which controls the number of threads deployed by each child process and MaxClients, which controls the maximum total number of threads that may be launched.

Directives

Topics

See also

top

How it Works

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 nuHTTP/1.1 200 OK Date: Mon, 07 Jul 2025 09:15:39 GMT Server: Apache/2.0.42 (Win32) PHP/5.2.10 Content-Location: worker.html.en Vary: negotiate,accept-language,accept-charset TCN: choice Accept-Ranges: bytes Content-Length: 9435 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=ISO-8859-1 Content-Language: en worker - Apache HTTP Server

<-

Apache Module worker

Description: Multi-Processing Module implementing a hybrid multi-threaded multi-process web server
Status: MPM
Module Identifier: mpm_worker_module
Source File: worker.c

Summary

This 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 less system resources than a process-based server. Yet 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 ThreadsPerChild, which controls the number of threads deployed by each child process and MaxClients, which controls the maximum total number of threads that may be launched.