| 订阅 | 在线投稿
分享
 
 
 

谈谈CGI的开发

来源:互联网  宽屏版  评论
2008-06-01 01:10:22

现在这年头,各种web开发技术各领风骚,PHP,ASP,jsp都是比较时髦的,于是人们似乎把CGI淡忘了,其实CGI最受诟病的是它的性能比较差,占用的系统资源比较高。许多程序员因此觉得CGI没有前途。

实际上,CGI除了传统的优点如:安全性高,接口标准简单,易于用不同语言实现外,近些年来出现的如fastcgi和mod_perl等技术已经可以弥补它在速度、资源方面的缺点。

下面以fastcgi技术为例简单说明:

传统CGI技术之所以速度慢,主要是因为一般 CGI每一次启动都要启动一个进程,假如有1000人同时在一个聊天室里聊天,那么就会产生1000个进程。对于有后台数据库的CGI,意味着每次请求都是一次数据库连接、查询、断开的过程。这样的问题即使用C语言也不能解决,而像perl这样的解释语言更增加了启动解释程序的负担。

fastcgi的设计思想就是启动一个cgi进程以后不退出,一般情况下只要进行一次的操作如数据库连接、sql语句的预备都可以在启动时完成,以后再有新的请球,就只要直接查询,不需要解释、连接数据库、产生新进程,由此可以大大提高系统性能。

一个简单的例子:

#!/bin/perl

Print “Content-type : text/Html\n\n”;

Print “I Love yuzi”;

这样的程序,每一次都要启动一个进程。

而使用了FCGI模块以后:

use FCGI;

while(FCGI::accept() >=0 )

{

print "Content-type: text/html\n\n";

print "I Love yuzi”;

}

exit 0;

只有循环内部每次执行

而从cgi转向fastcgi是很简单的,只要把启动部分放在while循环外面,其它部分在while循环里完成。但是应当注重的是,一般情况我们写perl CGI程序的时候不注重资源的回收,让程序结束的时候自动回收,但在fastcgi环境下这就会产生问题,所以要养成use strict的习惯,用my $var定义变量。

 
现在这年头,各种web开发技术各领风骚,PHP,ASP,jsp都是比较时髦的,于是人们似乎把CGI淡忘了,其实CGI最受诟病的是它的性能比较差,占用的系统资源比较高。许多程序员因此觉得CGI没有前途。 实际上,CGI除了传统的优点如:安全性高,接口标准简单,易于用不同语言实现外,近些年来出现的如fastcgi和mod_perl等技术已经可以弥补它在速度、资源方面的缺点。 下面以fastcgi技术为例简单说明: 传统CGI技术之所以速度慢,主要是因为一般 CGI每一次启动都要启动一个进程,假如有1000人同时在一个聊天室里聊天,那么就会产生1000个进程。对于有后台数据库的CGI,意味着每次请求都是一次数据库连接、查询、断开的过程。这样的问题即使用C语言也不能解决,而像perl这样的解释语言更增加了启动解释程序的负担。 fastcgi的设计思想就是启动一个cgi进程以后不退出,一般情况下只要进行一次的操作如数据库连接、sql语句的预备都可以在启动时完成,以后再有新的请球,就只要直接查询,不需要解释、连接数据库、产生新进程,由此可以大大提高系统性能。 一个简单的例子: #!/bin/perl Print “Content-type : text/Html\n\n”; Print “I Love yuzi”; 这样的程序,每一次都要启动一个进程。 而使用了FCGI模块以后: use FCGI; while(FCGI::accept() >=0 ) { print "Content-type: text/html\n\n"; print "I Love yuzi”; } exit 0; 只有循环内部每次执行 而从cgi转向fastcgi是很简单的,只要把启动部分放在while循环外面,其它部分在while循环里完成。但是应当注重的是,一般情况我们写perl CGI程序的时候不注重资源的回收,让程序结束的时候自动回收,但在fastcgi环境下这就会产生问题,所以要养成use strict的习惯,用my $var定义变量。
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有