Apache MPM winnt
| Описание: | Модуль многопроцессной обработки, оптимизированный для Windows NT. |
|---|---|
| Статус: | MPM |
| Идентификатор модуля: | mpm_winnt_module |
| Исходный файл: | mpm_winnt.c |
Сводка
Этот модуль многопроцессной обработки (MPM) используется по умолчанию в операционных системах Windows NT. Он использует один управляющий процесс, который запускает один дочерний процесс, создающий потоки для обработки запросов
Пропускная способность настраивается с помощью директивы ThreadsPerChild, которая задает максимальное количество одновременных подключений клиентов.
По умолчанию этот MPM использует расширенные API Windows для приема новых подключений клиентов. В некоторых конфигурациях сторонние продукты могут мешать работе этой реализации; в журнал веб-сервера при этом записываются следующие сообщения:
Child: Encountered too many AcceptEx faults accepting client connections. winnt_mpm: falling back to 'AcceptFilter none'.
MPM переключается на более безопасную реализацию, но некоторые запросы клиентов были обработаны некорректно. Чтобы избежать этой ошибки, используйте AcceptFilter с фильтром приема none.
AcceptFilter http none AcceptFilter https none
В Apache httpd 2.0 и 2.2 для этой цели использовалась директива Win32DisableAcceptEx.
MPM WinNT отличается от MPM для Unix, таких как worker и event, по нескольким параметрам:
- При завершении дочернего процесса из-за остановки, перезапуска или
MaxConnectionsPerChildактивным запросам в завершающемся процессе даетсяTimeOutсекунд на завершение, прежде чем обработка будет прервана. Другие типы перезапуска и остановки не реализованы. - Новые дочерние процессы считывают файлы конфигурации, а не наследуют конфигурацию от родительского процесса. Если дочерний процесс создается при запуске или перезапуске, поведение будет таким же, как в Unix. Однако, если дочерний процесс создается из-за сбоя предыдущего процесса или достижения им
MaxConnectionsPerChild, все ожидающие применения изменения конфигурации вступят в силу в дочернем процессе в этот момент, и родительский и дочерний процессы будут использовать разные конфигурации. Если запланированные изменения конфигурации были реализованы лишь частично, а текущую конфигурацию невозможно разобрать, замещающий дочерний процесс не сможет запуститься, и сервер остановится. В связи с этим файлы конфигурации не следует изменять до момента перезапуска сервера. - Хуки
monitorиfatal_exceptionв настоящее время не реализованы. -
AcceptFilterреализован в MPM и обеспечивает другой тип управления обработкой новых подключений. (Подробности см. в документацииAcceptFilter.)
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mpm_winnt.html