Я хотел бы знать, что такое многопоточный веб-сервер?
Я провел много поисков, но не могу найти ничего, что дает четкое объяснение или определение; возможно, кто-то может просветить меня.
Я хотел бы знать, что такое многопоточный веб-сервер?
Я провел много поисков, но не могу найти ничего, что дает четкое объяснение или определение; возможно, кто-то может просветить меня.
Многопоточный веб-сервер - это сервер, который обрабатывает каждый запрос с новым потоком, а не обрабатывает каждый запрос с новым процессом.
Многопоточность сложнее, чем параллелизм с процессами, поэтому повышается риск сбоя веб-сервера, если один из его модулей работает неправильно. Кроме того, если происходит сбой, более вероятно сбой всех потоков (т. Е. Всех запросов, обрабатываемых в данный момент). Однако многопоточные серверы потребляют меньше памяти и, как правило, работают быстрее.
Вот тест, сравнивающий два (взаимоисключающих) модуля apache: prefork и worker.
http://www.camelrichard.org/apache-prefork-vs-worker
и их определения ...
Это веб-сервер, который имеет очередь для входящих HTTP-запросов и пул потоков для их удовлетворения. Сервер забирает первый запрос из очереди и назначает поток из пула для выполнения работы. Запросы выстраиваются в очередь, когда они поступают быстрее, чем потоки могут их обработать, или если в пуле заканчиваются потоки.