CGI是低效的,但现在正在使用的是什么?

chu*_*tsu 2 php cgi

我的理解是创建CGI脚本已成为过去,并且由于每次调用它时它的方式都被认为是低效的.但是,当你调用嵌入了PHP脚本的网页时,我看不出有什么不同,它仍然以某种方式分支到另一个进程,那么为什么CGI被认为效率低下呢?

i80*_*and 5

每个请求都有两种"主流"方式:

  1. 您可以将解释器直接加载到服务器的进程空间中,并在启动期间预先执行多个set实例.mod_php和mod_python大致采用了这种策略.

  2. 您可以为解释器创建持久进程,然后为每个请求预先生成或生成线程,通过套接字与服务器通信.FastCGI就是这样使用的.

事件驱动的服务器虽然不完全是主流,但由于充分的理由而变得越来越普遍.他们依赖于大多数网站花费大部分时间阻止I/O的知识,只是转动他们的隐喻.每当请求需要执行任何I/O时,服务器都可以自由地开始处理另一个请求而无需使用select()和friends启动另一个线程/进程.这确实是解决C10k问题的唯一方法.