明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

生根于自由的土壤-FastCGI之二

[摘要]FastCGI的優(yōu)點  我們知道,CGI是不能利用內(nèi)存來作為緩存的,因為它為每一個請求運行一次應(yīng)用程序,并在完成任務(wù)后退出。而 FastCGI可以很有效地利用內(nèi)存來作緩存,大大地提高了它處理請求的性能。單獨的FastCGI應(yīng)用程序和 CGI相比,也許并沒有很好地利用緩存,而一旦FastCGI被設(shè)計...
FastCGI的優(yōu)點


  我們知道,CGI是不能利用內(nèi)存來作為緩存的,因為它為每一個請求運行一次應(yīng)用程序,并在完成任務(wù)后退出。而 FastCGI可以很有效地利用內(nèi)存來作緩存,大大地提高了它處理請求的性能。單獨的FastCGI應(yīng)用程序和 CGI相比,也許并沒有很好地利用緩存,而一旦FastCGI被設(shè)計成多線程,就可以運行并發(fā)處理多請求的應(yīng)用程序進(jìn)程,這樣多線程就可以共享進(jìn)程內(nèi)存而訪問同一緩存。

  FastCGI的另一大優(yōu)點是它可以利用分布式網(wǎng)絡(luò)系統(tǒng)來完成大規(guī)模的系統(tǒng)集成。一個網(wǎng)站,要完成用戶的交互性要求,至少要具備電子郵件、BBS和聊天室這三大功能,考慮到數(shù)據(jù)安全性和數(shù)據(jù)庫容量等因素,很少有網(wǎng)站把所有的數(shù)據(jù)都放在同一主機(jī)上。大家知道,由于進(jìn)程環(huán)境原因,服務(wù)器只能調(diào)用本機(jī)的CGI應(yīng)用程序,這就給多主機(jī)的分布式系統(tǒng)帶來局限性。而FastCGI應(yīng)用程序不從進(jìn)程環(huán)境中獲取CGI變量,而是在FastCGI 應(yīng)用程序和服務(wù)器之間建立一個“全雙工”的連接,傳遞環(huán)境信息、STDIN、STDOUT和STDERR。這樣我們就可以把FastCGI應(yīng)用程序放置在另外的主機(jī)上,利用TCP/IP協(xié)議與主服務(wù)器遠(yuǎn)程連接。在主服務(wù)器對FastCGI應(yīng)用程序發(fā)出請求時可以像本地機(jī)一樣作出響應(yīng)。這樣做的好處是:

1.可以擴(kuò)大網(wǎng)路系統(tǒng)的規(guī)模

2.可以減輕同一服務(wù)器的負(fù)載

3.多服務(wù)器可共享同一FastCGI應(yīng)用程序。