您的位置:首页 > 其它

杂谈(fastcgi)

2016-02-28 16:35 211 查看
关于cgi,fastcgi的一些问题,有些同学还是搞混,好吧,这里说一下。

1、cgi,其实是个概念,一个协议。webserver和后端程序通信的一个协议,比如要传啥内容给后端程序,用户请求的query?get?post?cookie ?.. cgi只是规定了一些内容。。

2、fastcgi,fast..顾名思义,就是更快一些,性能更高一些。怎么高法?你得了解一下传统的cgi实现,比如php,每次webserver收到请求后,请求会转移到php程序去执行,这个程序咱们一般称作php-cgi。这个解释程序一般启动都会做一些初始化工作比如解析php.ini,初始化内存池,加载so等预分配操作,以至于为后面执行php代码提供一个完整的环境,然后开始解析执行我们的php代码。整个过程中,除了php代码执行外,其他部分,每次一个请求过来,都要重复的执行,显然会很慢,因为做了很多重复的工作。而fastcgi呢,优化了这一流程,首先,有个master进程,管理多个worker进程,当master进程启动的时候,把前期执行的环境全部预备好(ini解析,初始化内存池、加载so与其他),然后同步到worker去,这样,worker就可以专心的解析并执行php代码就好。当然了,master进程做的事情还有很多…不一一说明了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: