今天的我,曾經是一個ASP.NET信徒,後來經過大流量網站的應用,經驗告訴我,微軟面向的人群是中低端大部人群,因為他的一系列產品程式臃腫,但智能,比如SQLServer、iis、還有哪些捆綁的服務,就ASP.NET的運行庫,頁面要執行太多的初始化操作,使得頁面他必須慢和佔用太多記憶體。
今天的我計劃考察下PHP的效能底線和運行機理,希望有一個好的結果!
PHP底核是用的Zend Engine組件啟動並執行Opcode中間執行的,就像.NET的Framework runtime。但有很大不同,Zend Engine是一個虛擬機器,他對Opcode是解釋執行,也就是說,讀一句執行一句,類似ASP。但是因為OpCode是二進位,文法標準和位元組化,使讀取效能非常快,比ASP要快的多。而.NET據說是轉成機算機語言,然後直接調用啟動並執行。按說.net更會快,但事實上,.NET加上哪些臃腫的類庫,不未知的編譯過程,速度目前牙根跟不上php的解釋執行。
從企業需求角度去想,要太高的效能也不是需求的第一要求,還要程式簡單,使開發成本降低,再有效能可以提供需求的需要才行。PHP對於大型網站的解決方案可以滿足他們的這些需要,因為他做到了簡單,精巧,效能雖然不說最好,他這些效能耗費,一般商家都是可以支援的起的,最主要,他耗費的僅僅是一點點,可以忽略不技,而asp.net就不一樣了,再大還可以使用叢集方案解決。
PHP支援FPM進程管理員模式,這使得在對應大流量,大記憶體需要時,還是有很好的處理效能的。
支援fastcgi,這可以更好的相容高性各種伺服器的介面,甚至linux運行效果也非常好!
總體評價,php還是比較合適於門戶網站,大流量站的應用的。
----------------------------------------------------------------------------------------------------------------------------------------
博主的回複
哈哈,感謝大家的回複,本來感覺我的這篇文章感覺空了些,現在加上這些大家的評論,我感覺很欣慰!學知識不怕噴,怕噴的就不是中國人!我只少認為自己可以勇敢的表達自己的想法,我為自己驕傲!對於資料,我不想證明什麼,我只是想表達下自己的想法。如果你認為我是錯的,請拿出正確的出來,你能證明ASP.NET會比PHP快嗎!你能講出我說的不對的地方嗎!
如果你說,效能好於不好,要看人,不要看程式語言,哪不就像說:曳引車和氣車跑的快,關鍵決定於司機一樣嗎?