根据" mod_fcgi不是mod_fastcgi的替代品 "和" mod_fcgid和多线程FastCGI应用程序的问题 ",mod_fcgid并不是设计为期望FastCGI服务器能够同时处理多个请求,即不期望FastCGI服务器是多线程的.
前者说:
它们都支持已发布的"FastCGI"协议,但它们如何控制它们的FastCGI服务器有很大不同.mod_fcgid可以快速消除FastCGI服务器并启动新服务器.
后者说:
似乎mod_fcgid不知道我的服务器是多线程的,并且能够处理多个请求.
这只是两个引用,其他地方也有一些.
线程不仅仅是节省CPU和内存,而且避免了创建新进程的开销(创建一个线程比创建一个进程更轻),这可以通过硬件或操作系统性能来减轻; 这也是一个逻辑问题,不容易缓解:线程属于同一个进程,不仅是性能,还有逻辑,例如.进程无法共享线程可以共享的内容,因为进程是隔离运行的(模IPC,但不一样).
至少出于这个逻辑原因,可能会引发多线程FastCGI服务器的问题.FastCGI服务器可以保存上下文(在进程之间共享可能很大且成本很高),当它被设计为多线程服务器时,它对于所有请求处理程序是全局的.为每个并发请求分配新进程不允许更多地确保公共上下文.
以上两个报价是否仍然正确(一个是2011年,另一个是2010年)?我在网上搜索了这个主题,但找不到任何相关内容.如果它仍然是真的,那么,它是否总是正确或是否有预期的计划mod_fcgid,要了解多线程FastCGI服务器并接受这些服务器可能被设计为处理多个并发请求?