国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 界首市| 姚安县| 莲花县| 施甸县| 大冶市| 图木舒克市| 鹿泉市| 孝感市| 龙门县| 温州市| 瑞金市| 射阳县| 柳林县| 南陵县| 芮城县| 科技| 九龙城区| 水富县| 武川县| 婺源县| 西青区| 西林县| 中牟县| 理塘县| 葫芦岛市| 景洪市| 彝良县| 丹棱县| 吴忠市| 东乡县| 从江县| 咸阳市| 冕宁县| 千阳县| 尚志市| 治多县| 长春市| 武平县| 紫云| 双辽市| 襄垣县|