日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Fastcgi是什么

發布時間:2023/11/27 生活经验 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fastcgi是什么 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

一、FastCGI是什么?
FastCGI是語言無關的、可伸縮架構的CGI開放擴展,其主要 行為是將CGI解釋器進程保持在內存中并因此獲得較高的性能。眾所周知,CGI解釋器的反復加載是CGI性能低下的主要原因,如果CGI解釋器保持在內存 中并接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性、Fail-Over特性等等。
????FastCGI的官方站點在http://www.fastcgi.com
  FastCGI的工作原理是:  

1、Web Server 啟動時載入FastCGI進程管理器(IIS ISAPI或Apache Module);
2、FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程 (在任務管理器中可見多個php-cgi.exe)并等待來自Web Server的連接。
3、當客戶端請求到達Web Server時,FastCGI進程管理器選擇并連接到一個CGI解釋器。Web server將CGI環境變量和標準輸入發送到FastCGI子進程php-cgi.exe。
4、FastCGI子進程完成處理后將標準輸出和錯誤信息從同一連接返回Web Server。當FastCGI子進程關閉連接時,請求便告處理完成。FastCGI子進程接著等待并處理來自FastCGI進程管理器(運行在 WebServer中)的下一個連接。 在正常的CGI模式中,php-cgi.exe在此便退出了。

在上述情況中,你可以想象 CGI通常有多慢。每一個Web請求PHP都必須重新解析php.ini、重新載入全部dll擴展并重初始化全部數據結構。使用FastCGI,所有這些 都只在進程啟動時發生一次。一個額外的好處是,持續數據庫連接(Persistent database connection)可以工作。

二、為什么要使用FastCGI,而不是多線程CGI解釋器?
這可能出于多方面的考慮,例如:
1、你無論如何也不能在windows平臺上穩定的使用多線程CGI解釋器,無論是IIS ISAPI方式還是APACHE Module方式,它們總是運行一段時間就崩潰了。奇怪么?但是確實存在這樣的情況!
當然,也有很多時候你能夠穩定的使用多線程CGI解釋器,但是,你有可能發現網頁有時候會出現錯誤,無論如何也找不到原因,而換用FastCGI方式時 這種錯誤的概率會大大的降低。我也不清楚這是為什么,我想獨立地址空間的CGI解釋器可能終究比共享地址空間的形式來得穩定一點點。
2、性 能!性能?可能么,難道FastCGI比多線程CGI解釋器更快?但有時候確實是這樣,只有測試一下你的網站,才能最后下結論。原因嘛,我覺得很難講,但 有資料說在Zend WinEnabler的時代,Zend原來也是建議在Windows平臺下使用FastCGI而不是IIS ISAPI或Apache Module,不過現在Zend已經不做這個產品了。


三、不使用FastCGI的理由
1、多進程比多線程消耗更多的服務器內存,php-cgi.exe解釋器每進程消耗7至25兆內存,將這個數字乘以50或100試試。
2、性能。確實有時候多線程CGI解釋器更快,呵呵,而且有時候,它也很穩定。

總結

以上是生活随笔為你收集整理的Fastcgi是什么的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。