线程 Web 服务器到底是什么?

线程 Web 服务器到底是什么?

我想知道什么是线程 Web 服务器?

我进行了很多搜索,但找不到任何能给出明确解释或定义的东西;也许有人可以启发我。

答案1

线程化 Web 服务器是指使用新线程处理每个请求的服务器,而不是使用新进程处理每个请求。

多线程比进程并发更复杂,因此如果某个模块无法正常工作,Web 服务器崩溃的风险就会增加。此外,如果服务器崩溃,则更有可能导致所有线程(即当时正在处理的所有请求)崩溃。但是,多线程服务器消耗的内存更少,而且通常速度更快。

这是对两个(互斥的)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

答案2

它是一个 Web 服务器,它有一个用于接收 HTTP 请求的队列和一个用于满足这些请求的线程池。服务器从队列中取出第一个请求,并从线程池中分配一个线程来执行该工作。当请求的接收速度快于线程的处理速度或线程池中的线程用完时,请求就会在队列中排队。

相关内容