IIS7入门之旅:(3)CGI application和FastCGI application的区别
2009-01-09 10:50
369 查看
前言:
一如既往地,IIS支持通过提供pluggable module来提供对第3方script的支持,例如php等。在IIS7中,对于CGI的支持有了一个新的变化,就是同时提供了2种CGI支持模块,分别为:CGIModule (cgi.dll)和FastCGIModule (iisfcgi.dll)。关于ISAPI和CGI之间的区别,请参阅/article/6978231.html。
那么 CGI和FastCGI之间的区别是什么呢?
正文:
对于CGI和FastCGI之简单的区别,简单可以描述为:
1 在CGI模式下,对于每一个request,都会创建一个新的cgi application process来process该request.
2 在FastCGI模式下,cgi application process可以重复利用。也就是说,如果第一个请求到达server时,会创建相应的CGI application process,如cgi-php.exe (如果是php请求的话)。而接下来的请求都会被该cgi-php.exe来process,而不会创建新的cgi-php.exe,从而节省了昂贵的服务端资源。这种模式有点借鉴了isapi的优点 。
当然,实际情况是,为了提高系统并发能发,缺省情况下,最多会创建4个CGI application process (有点类似于IIS6及以上的web garden哦:))
一如既往地,IIS支持通过提供pluggable module来提供对第3方script的支持,例如php等。在IIS7中,对于CGI的支持有了一个新的变化,就是同时提供了2种CGI支持模块,分别为:CGIModule (cgi.dll)和FastCGIModule (iisfcgi.dll)。关于ISAPI和CGI之间的区别,请参阅/article/6978231.html。
那么 CGI和FastCGI之间的区别是什么呢?
正文:
对于CGI和FastCGI之简单的区别,简单可以描述为:
1 在CGI模式下,对于每一个request,都会创建一个新的cgi application process来process该request.
2 在FastCGI模式下,cgi application process可以重复利用。也就是说,如果第一个请求到达server时,会创建相应的CGI application process,如cgi-php.exe (如果是php请求的话)。而接下来的请求都会被该cgi-php.exe来process,而不会创建新的cgi-php.exe,从而节省了昂贵的服务端资源。这种模式有点借鉴了isapi的优点 。
当然,实际情况是,为了提高系统并发能发,缺省情况下,最多会创建4个CGI application process (有点类似于IIS6及以上的web garden哦:))
相关文章推荐
- SpringCloud入门之常用的配置文件 application.yml和 bootstrap.yml区别
- IIS7 Application Pool Integrate Mode 和 Classic Mode 的区别
- Java入门学习- 理解List和HashMap和HashTable的用法和区别
- WebSphere Studio Application Developer 中的 Web Applications 入门
- php在apache中安装模式的区别:fastcgi和mod_php
- Java Application 和Java Applet程序的主要区别是什么?
- ASP.NET中Application和Cache的区别分析
- [转]ASP.NET中Application和Cache的区别
- spring-mvc.xml 和 application-context.xml的区别
- ASP.NET Application,Session,Cookie和ViewState等对象用法和区别
- jsp 的四个作用域 :page、request、session和application的区别 .
- ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别
- WebSite项目和WebApplication项目有何区别
- FastCgi 与 PHP-FPM 之间的区别
- CGI/FASTCGI/ISAPI区别
- Application,Session和Cookies的区别
- Asp.net中Application Session Cookie ViewState Cache Hidden 区别
- APPlication,Session和Cookie的区别
- AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
- application的context和activity的context区别