PHP語言性能考察
今天的我,曾經(jīng)是一個ASP.NET信徒,后來經(jīng)過大流量網(wǎng)站的應(yīng)用,經(jīng)驗(yàn)告訴我,微軟面向的人群是中低端大部人群,因?yàn)樗囊幌盗挟a(chǎn)品程序臃腫,但智能,比如SQLServer、iis、還有哪些捆綁的服務(wù),就ASP.NET的運(yùn)行庫,頁面要執(zhí)行太多的初始化操作,使得頁面他必須慢和占用太多內(nèi)存。
今天的我計劃考察下PHP的性能底線和運(yùn)行機(jī)理,希望有一個好的結(jié)果!
PHP底核是用的Zend Engine組件運(yùn)行的Opcode中間執(zhí)行的,就像.NET的Framework runtime。但有很大不同,Zend Engine是一個虛擬機(jī),他對Opcode是解釋執(zhí)行,也就是說,讀一句執(zhí)行一句,類似ASP。但是因?yàn)镺pCode是二進(jìn)制,語法標(biāo)準(zhǔn)和字節(jié)化,使讀取性能非??欤華SP要快的多。而.NET據(jù)說是轉(zhuǎn)成機(jī)算機(jī)語言,然后直接調(diào)用運(yùn)行的。按說.net更會快,但事實(shí)上,.NET加上哪些臃腫的類庫,不未知的編譯過程,速度目前牙根跟不上php的解釋執(zhí)行。
從企業(yè)需求角度去想,要太高的性能也不是需求的第一要求,還要程序簡單,使開發(fā)成本降低,再有性能可以提供需求的需要才行。PHP對于大型網(wǎng)站的解決方案可以滿足他們的這些需要,因?yàn)樗龅搅撕唵?,精巧,性能雖然不說最好,他這些性能耗費(fèi),一般商家都是可以支持的起的,最主要,他耗費(fèi)的僅僅是一點(diǎn)點(diǎn),可以忽略不技,而asp.net就不一樣了,再大還可以使用集群方案解決。
PHP支持FPM進(jìn)程管理模式,這使得在對應(yīng)大流量,大內(nèi)存需要時,還是有很好的處理性能的。
支持fastcgi,這可以更好的兼容高性各種服務(wù)器的接口,甚至linux運(yùn)行效果也非常好!
總體評價,PHP還是比較合適于門戶網(wǎng)站,大流量站的應(yīng)用的。
原文鏈接:http://www.cnblogs.com/a-xu/archive/2012/11/23/2783861.html
【編輯推薦】