生根于自由的土壤-FastCGI之二
發表時間:2024-02-08 來源:明輝站整理相關軟件相關文章人氣:
[摘要]FastCGI的優點 我們知道,CGI是不能利用內存來作為緩存的,因為它為每一個請求運行一次應用程序,并在完成任務后退出。而 FastCGI可以很有效地利用內存來作緩存,大大地提高了它處理請求的性能。單獨的FastCGI應用程序和 CGI相比,也許并沒有很好地利用緩存,而一旦FastCGI被設計...
FastCGI的優點
我們知道,CGI是不能利用內存來作為緩存的,因為它為每一個請求運行一次應用程序,并在完成任務后退出。而 FastCGI可以很有效地利用內存來作緩存,大大地提高了它處理請求的性能。單獨的FastCGI應用程序和 CGI相比,也許并沒有很好地利用緩存,而一旦FastCGI被設計成多線程,就可以運行并發處理多請求的應用程序進程,這樣多線程就可以共享進程內存而訪問同一緩存。
FastCGI的另一大優點是它可以利用分布式網絡系統來完成大規模的系統集成。一個網站,要完成用戶的交互性要求,至少要具備電子郵件、BBS和聊天室這三大功能,考慮到數據安全性和數據庫容量等因素,很少有網站把所有的數據都放在同一主機上。大家知道,由于進程環境原因,服務器只能調用本機的CGI應用程序,這就給多主機的分布式系統帶來局限性。而FastCGI應用程序不從進程環境中獲取CGI變量,而是在FastCGI 應用程序和服務器之間建立一個“全雙工”的連接,傳遞環境信息、STDIN、STDOUT和STDERR。這樣我們就可以把FastCGI應用程序放置在另外的主機上,利用TCP/IP協議與主服務器遠程連接。在主服務器對FastCGI應用程序發出請求時可以像本地機一樣作出響應。這樣做的好處是:
1.可以擴大網路系統的規模
2.可以減輕同一服務器的負載
3.多服務器可共享同一FastCGI應用程序。