Порождение процессов HTTPD

Я не вижу способ прокомментировать, таким образом, я задам свой вопрос Jim B в форме ответа.Прошу прощения. Я нахожу следующий язык неясным, и возможно Вы могли разъясниться:

Электронная почта обычно не шифруется, когда она передается пользовательской системе - однако это конкретно не потребовало (устройство хранения данных в целевой системе) - однако любое хранение, она в защищенном паролем PST на на Exchange Server соответствует, поскольку это не открытый текст.

Вы говорите, что шифрование как электронная почта передается с внутреннего сервера на настольный ПК пользователя (или мобильное устройство) явно не требуется?

И "устройством хранения данных в целевой системе [конкретно требуется]", Вы подразумеваете, что электронная почта должна быть сохранена на ПК получателя в зашифрованном формате? Или та электронная почта должна быть стерта из почтового сервера, когда пользователь загружает его для чтения его? или что везде, где электронная почта хранится, она должна быть сохранена в зашифрованном формате?

1
задан 23 November 2012 в 11:10
2 ответа

если я подключаюсь к веб-серверу (HTTP 1.0 / без сохранения активности) и выдаю HTTP / GET, у меня будет порожден новый дочерний элемент HTTPD

Нет, для завершения TCP-рукопожатия, у вас уже есть процесс для обработки вашего запроса. Поскольку вы упоминаете «процессы», это означает, что вы говорите о MPM до форка. В этом случае на сервере уже должен быть пул доступных дочерних процессов - один из них получает мьютекс для приема следующего входящего соединения.

Сервер на основе потоков работает аналогичным образом.

Сервер на основе событий - это совершенно другой котел с рыбой, и он не порождает потоки / процессы.

Если затем выдать другой HTTP /GET... я буду использовать тот же дочерний процесс

Нет. И даже если вы знаете, что у вас есть соединение keepalive,

2
ответ дан 3 December 2019 в 19:02

Универсальной настройки не существует, так как это наиболее важный аспект производительности http-сервера. Как правило, Apache изо всех сил пытается избежать разветвления (или порождения, как вы это назвали). Проверьте это:

http: //www.stepwise. сетевые подключения и отправка запросов. Есть два общих MPM, доступные для Apache2, а именно mpm_prefork_module и mpm_worker_module. Mpm_prefork_module использует традиционную модель одного процесса на запрос, в то время как mpm_worker_module использует многопоточная модель, которая использует несколько процессов, каждый с несколькими потоков для повышения производительности с меньшими накладными расходами.

В руководствах для Apache 2.4 говорится:

При сборке Apache вы должны выбрать MPM для использования. Есть специфичные для платформы MPM для некоторых платформ: mpm_netware, mpmt_os2 и mpm_winnt [для любой версии MS Windows]. Для обычных систем типа Unix существует несколько MPM из какой выбрать. Выбор MPM может повлиять на скорость и масштабируемость httpd:

  • worker MPM использует несколько дочерних процессов с множеством потоков каждый. Каждый поток обрабатывает одно соединение за раз. Рабочий вообще хороший выбор для серверов с высоким трафиком, потому что у него меньше объем памяти, чем у MPM до форка.
  • Событие MPM распределяется по потокам, как Worker MPM, но предназначен для одновременного обслуживания большего количества запросов путем передачи некоторых обработка работы для поддержки потоков, освобождая основные потоки для работать с новыми запросами.
  • Предварительная вилка MPM использует несколько дочерних процессов с одним потоком каждый. Каждый процесс обрабатывает одно соединение за раз.
1
ответ дан 3 December 2019 в 19:02

Теги

Похожие вопросы