32位與64位系統(tǒng)對比
32位與64位系統(tǒng)之間的比較——這些測試的目的并不是為了體現(xiàn)64位系統(tǒng)上的性能差距。今后的測試我會增加64位的場景。
“PHP丑陋至極”——哦,我不同意。舊式ASP要丑陋多了。你可以寫出非?膳露舐腜HP代碼,也可以寫出丑陋而可怕的C#或VB代碼。同樣,你也可以寫出優(yōu)雅的C++樣式的PHP。這完全只和開發(fā)人員的技能有關(guān)。
應(yīng)該使用Windows上的Apache進行測試——Apache是Linux上的服務(wù)器,不過我認為如果你在Windows上不使用IIS 7則會損失太多太多東西了。
“有辦法在Win2K8中,在不損失安全性的前提下加快文件復(fù)制性能嗎?”——似乎不行。我認為這涉及到Windows服務(wù)器上的ACL系統(tǒng)。我以后可能會測試通過數(shù)據(jù)流讀取文件的性能,有些東西的性能可能會有所改善。不過,Web應(yīng)用程序一般不會編程來復(fù)制大量文件。
“PHP一直是,也永遠只是一個半專業(yè)性質(zhì)的環(huán)境”——這種說法狗屁不通。PHP平臺上有許多專業(yè)的,高質(zhì)量的應(yīng)用程序,也有很多我非常尊敬的開發(fā)人員。是否專業(yè)是開發(fā)人員的問題,不是PHP或ASP.NET的問題。
“我認為比較沒有opcode緩存的PHP很不公平,.NET是編譯執(zhí)行的,而PHP需要每次都解釋并‘編譯’頁面”——我同意這個測試可能不夠完整,但是我不認同這個邏輯。我測試PHP的方式,就和下載安裝的方式一樣。我的虛擬主機也沒有安裝op-code緩存。而事實上,ASP.NET自帶這個特性也并不意味著測試是不公平的,這是因為PHP缺少這個特性——不過這個要求很合理,我正在準備新的測試。
“說PHP不是一個‘專業(yè)的’語言很沒道理,因為幾乎所有最大的站點都是用PHP構(gòu)建的”——這種說法是沒道理,不過說那些站點“幾乎都是”用PHP構(gòu)建的也是錯誤的。有些是,有些不是。
如果你們看到這一數(shù)據(jù)之后對ASP.NET信心倍增我自然很高興。如果我不認為.NET是開發(fā)Web應(yīng)用程序來說是一種更好的選擇——至少不屬于其它平臺,那么我也不會在微軟工作了。
但是……如果你因為這些數(shù)據(jù)而忽視PHP,也是錯誤且幼稚的行為。
從純技術(shù)角度來說,我認為.NET遠比PHP強大,但這并不意味著PHP不夠強大。在我看來,PHP的力量體現(xiàn)在眾多的應(yīng)用程序以及可用的框架。
大約一周以后,Joe公開了第二次測試的結(jié)果。與前一個測試相比,第二個測試主要有以下兩個改變:
為Linux和Windows上安裝了op-code緩存,并重新運行了大部分測試。 由于一些依賴項的問題,PHP 5.3 + APC的測試平臺變成了Debain 5操作系統(tǒng)。 對于第二次測試及其結(jié)果,Joe解釋到:
從結(jié)果上看,Ubuntu和Debian上運行PHP的性能差距可以忽略不計。部分條目的性能有些細小的改進,有些則有25%的提高,但是總體來說其效果比我想象中要來得低。
使用APC之后,一些條目的運行反而變慢了,不過我認為這只是機器所造成的誤差。請注意,表格中顯示的不是第一次的結(jié)果,都是經(jīng)過兩次刷新,確認是在緩存命中時得到的結(jié)果。
我認為現(xiàn)在的測試非常公平。
空的循環(huán)測試和空的函數(shù)執(zhí)行非常重要,因為這反映了語言或平臺的基礎(chǔ)消耗。這是處頁面?zhèn)鬏數(shù)刃阅荛_銷外的性能消耗,是一個重要的考慮方面。
我的一些PHP朋友也認可這個測試的準確性,不過給出了非常有見解的補充:
ASP.NET在性能上的領(lǐng)先不會對我有什么影響。PHP是我的最愛,我的應(yīng)用程序已經(jīng)足夠快了。沒錯,ASP.NET在基礎(chǔ)性能上是比較快,但是我的應(yīng)用程序可以通過優(yōu)秀的頁面實現(xiàn)和JavaScript實踐把這部分性能補回來。
此外,根據(jù)上一次實驗的結(jié)果,在Windows平臺上運行PHP時,在MySQL和文件的訪問上有一些性能問題,微軟許多團隊都向我獲取了相關(guān)信息。希望這些數(shù)據(jù)都夠轉(zhuǎn)變?yōu)榍袑嵉母倪M。
Joe表示,他將收集大家認為更公平,更有意義的測試場景。以下是他所計劃的測試項目:
- 實際頁面測試:循環(huán),寒暑調(diào)用和對象操作是一類測試,不過頁面的整體呈現(xiàn)則是另一種有意義的測試。
- 負載測試:哪一個環(huán)境可以同時處理更大量的請求。
- 在負載測試中,哪一方的性能會下降地更快。
- 在各種情況下,64位平臺的表現(xiàn)如何。
國內(nèi)也曾經(jīng)進行過PHP在Linux和Windows平臺上的性能測試。InfoQ曾經(jīng)報道過微軟在WordCamp China 2009大會上公開了之前與康盛創(chuàng)想合作進行的性能評估結(jié)果:在Windows Server 2008 + IIS上運行PHP,從平均相應(yīng)時間,每秒處理的請求數(shù),以及數(shù)據(jù)吞吐量等多方便均優(yōu)于Linux + Apache的托管方式。
本文鏈接:http://www.95time.cn/tech/program/2009/7235.asp
出處:phpchina
責任編輯:bluehearts
上一頁 ASP.NET與PHP速度對比 [1] 下一頁
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|