国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

談?wù)凜GI的開發(fā)

2019-11-17 05:51:19
字體:
供稿:網(wǎng)友
現(xiàn)在這年頭,各種web開發(fā)技術(shù)各領(lǐng)風(fēng)騷,php,asp,jsp都是比較時(shí)髦的,于是人們似乎把CGI淡忘了,其實(shí)CGI最受詬病的是它的性能比較差,占用的系統(tǒng)資源比較高。許多程序員因此覺得CGI沒有前途。

實(shí)際上,CGI除了傳統(tǒng)的優(yōu)點(diǎn)如:安全性高,接口標(biāo)準(zhǔn)簡單,易于用不同語言實(shí)現(xiàn)外,近些年來出現(xiàn)的如fastcgi和mod_perl等技術(shù)已經(jīng)可以彌補(bǔ)它在速度、資源方面的缺點(diǎn)。

下面以fastcgi技術(shù)為例簡單說明:
傳統(tǒng)CGI技術(shù)之所以速度慢,主要是因?yàn)橐话?CGI每一次啟動(dòng)都要啟動(dòng)一個(gè)進(jìn)程,假如有1000人同時(shí)在一個(gè)聊天室里聊天,那么就會(huì)產(chǎn)生1000個(gè)進(jìn)程。對(duì)于有后臺(tái)數(shù)據(jù)庫的CGI,意味著每次請(qǐng)求都是一次數(shù)據(jù)庫連接、查詢、斷開的過程。這樣的問題即使用C語言也不能解決,而像perl這樣的解釋語言更增加了啟動(dòng)解釋程序的負(fù)擔(dān)。

fastcgi的設(shè)計(jì)思想就是啟動(dòng)一個(gè)cgi進(jìn)程以后不退出,一般情況下只要進(jìn)行一次的操作如數(shù)據(jù)庫連接、sql語句的預(yù)備都可以在啟動(dòng)時(shí)完成,以后再有新的請(qǐng)球,就只要直接查詢,不需要解釋、連接數(shù)據(jù)庫、產(chǎn)生新進(jìn)程,由此可以大大提高系統(tǒng)性能。

一個(gè)簡單的例子:
#!/bin/perl
PRint “Content-type : text/Html/n/n”;
Print “I Love yuzi”;
這樣的程序,每一次都要啟動(dòng)一個(gè)進(jìn)程。

而使用了FCGI模塊以后:
use FCGI;

while(FCGI::accept() >=0 )
{
print "Content-type: text/html/n/n";
print "I Love yuzi”;

}
exit 0;
只有循環(huán)內(nèi)部每次執(zhí)行

而從cgi轉(zhuǎn)向fastcgi是很簡單的,只要把啟動(dòng)部分放在while循環(huán)外面,其它部分在while循環(huán)里完成。但是應(yīng)當(dāng)注重的是,一般情況我們寫perl CGI程序的時(shí)候不注重資源的回收,讓程序結(jié)束的時(shí)候自動(dòng)回收,但在fastcgi環(huán)境下這就會(huì)產(chǎn)生問題,所以要養(yǎng)成use strict的習(xí)慣,用my $var定義變量。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南雄市| 利津县| 博乐市| 海淀区| 富裕县| 英山县| 廉江市| 淮滨县| 清苑县| 舟山市| 阿图什市| 敦化市| 永寿县| 新和县| 呈贡县| 延川县| 柳州市| 那坡县| 安远县| 云南省| 日照市| 肥东县| 郑州市| 桐庐县| 奉节县| 辰溪县| 蓬安县| 临猗县| 大同市| 吴江市| 汝阳县| 安平县| 棋牌| 汉寿县| 塘沽区| 融水| 枣庄市| 普定县| 广河县| 岳阳县| 隆回县|