2

Я хотел бы знать, что такое многопоточный веб-сервер?

Я провел много поисков, но не могу найти ничего, что дает четкое объяснение или определение; возможно, кто-то может просветить меня.

2 ответа2

9

Многопоточный веб-сервер - это сервер, который обрабатывает каждый запрос с новым потоком, а не обрабатывает каждый запрос с новым процессом.

Многопоточность сложнее, чем параллелизм с процессами, поэтому повышается риск сбоя веб-сервера, если один из его модулей работает неправильно. Кроме того, если происходит сбой, более вероятно сбой всех потоков (т. Е. Всех запросов, обрабатываемых в данный момент). Однако многопоточные серверы потребляют меньше памяти и, как правило, работают быстрее.

Вот тест, сравнивающий два (взаимоисключающих) модуля apache: prefork и worker.

http://www.camelrichard.org/apache-prefork-vs-worker

и их определения ...

http://httpd.apache.org/docs/2.0/mod/prefork.html

http://httpd.apache.org/docs/2.0/mod/worker.html

4

Это веб-сервер, который имеет очередь для входящих HTTP-запросов и пул потоков для их удовлетворения. Сервер забирает первый запрос из очереди и назначает поток из пула для выполнения работы. Запросы выстраиваются в очередь, когда они поступают быстрее, чем потоки могут их обработать, или если в пуле заканчиваются потоки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .