【问题标题】:mod_fcgid: multi‑threaded FastCGI now or in a planned future?mod_fcgid:现在还是计划中的多线程 FastCGI?
【发布时间】:2013-03-15 10:37:40
【问题描述】:

到目前为止的事实

根据“mod_fcgi is NOT a replacement for mod_fastcgi”和“Issues with mod_fcgid and multi-threaded FastCGI application”,mod_fcgid 并非旨在期望 FastCGI 服务器能够同时处理多个请求,即并非旨在期望 FastCGI 服务器是多线程的.

前者说:

它们都支持已发布的“FastCGI”协议,但 他们控制 FastCGI 服务器的方式有很大不同。 mod_fcgid 快速消除 FastCGI 服务器并启动 新的。

后者说:

看来 mod_fcgid 不知道我的服务器 是多线程的,能够处理多个请求。

这只是其中的两个引号,其他地方还有一些。

连发

线程不仅是为了节省 CPU 和内存,避免创建新进程的开销(众所周知,创建线程比创建进程更轻量),而且可以通过硬件或操作系统性能来缓解;这也是一个逻辑问题,不太容易缓解:线程属于同一个进程,这不仅是性能,而且是逻辑,例如。进程无法共享线程可以共享的内容,因为进程是独立运行的(以 IPC 为模,但不一样)。

至少出于这个逻辑原因,多线程 FastCGI 服务器的问题可能会被提出。一个 FastCGI 服务器,当它被设计为一个多线程服务器时,可能拥有一个对所有请求处理程序都是全局的上下文(在进程之间共享可能很大且成本很高)。为每个并发请求派生一个新进程不再允许确保公共上下文。

问题

上面的两个引用是否仍然正确(一个是 2011 年,另一个是 2010 年)?我在网上搜索了该主题,但找不到任何相关内容。如果它仍然正确,那么它是否总是正确的,或者mod_fcgid 是否有预期的计划,以了解多线程 FastCGI 服务器并接受这些服务器可能旨在处理多个并发请求?

【问题讨论】:

    标签: multithreading apache fastcgi mod-fcgid fcgid


    【解决方案1】:

    我无法回答您关于 mod_fcgid 的确切问题,但 Apache 已经继续前进,现在 Apache 2.4 中的首选方法是使用 mod_proxy_fcgi,http://httpd.apache.org/docs/trunk/mod/mod_proxy_fcgi.html

    它确实处理多个并发请求。通常,您可能会将请求传递给 php-fpm 处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      相关资源
      最近更新 更多