Apache HTTP Server Version 2.4
Description: | Multi-Processing Module optimized for Windows NT. |
---|---|
Status: | MPM |
Module Identifier: | mpm_winnt_module |
Source File: | mpm_winnt.c |
This Multi-Processing Module (MPM) is the default for the Windows NT operating systems. It uses a single control process which launches a single child process which in turn creates threads to handle requests
Capacity is configured using the
ThreadsPerChild
directive,
which sets the maximum number of concurrent client connections.
By default, this MPM uses advanced Windows APIs for accepting new client connections. In some configurations, third-party products may interfere with this implementation, with the following messages written to the web server log:
Child: Encountered too many AcceptEx faults accepting client connections.
winnt_mpm: falling back to 'AcceptFilter none'.
The MPM falls back to a safer implementation, but some client requests
were not processed correctly. In order to avoid this error, use
AcceptFilter
with accept filter
none
.
AcceptFilter http none AcceptFilter https none
In Apache httpd 2.0 and 2.2,
Win32DisableAcceptEx
was used for this purpose.
The WinNT MPM differs from the Unix MPMs such as worker and event in several areas:
MaxConnectionsPerChild
,
active requests in the exiting process have
TimeOut
seconds to finish before
processing is aborted. Alternate types of restart and shutdown are not
implemented.MaxConnectionsPerChild
,
any pending changes to the configuration will become active in the
child at that point, and the parent and child will be using a
different configuration. If planned configuration changes have been
partially implemented and the current configuration cannot be
parsed, the replacement child process cannot start up and the server
will halt. Because of this behavior, configuration files should not
be changed until the time of a server restart.monitor
and fatal_exception
hooks
are not currently implemented.AcceptFilter
is implemented in the MPM
and has a different type of control over handling of new connections.
(Refer to the AcceptFilter
documentation for details.)