日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ASP.NET比拼PHP,誰是速度之王?

admin
2011年2月1日 14:42 本文熱度 3325

剛剛在9月編程語言排行榜上取得歷史性突破的PHP在Web開發(fā)領(lǐng)域最到的對手可能就是基于微軟.NET技術(shù)的ASP.NET。近日,微軟的Joe Stagner在博客上發(fā)表了一系列文章比較了PHP和ASP.NET性能方面的文章,引起了來自雙方程序員的大量回應(yīng)。

Joe表示,他會將這樣的測試持續(xù)下去,并尋求更為合適的方式,以獲得對實(shí)際項(xiàng)目來說盡可能有參考價值的結(jié)論。


Joe在博客中稱,一般來說,作性能測試的目的是要嘗試證明一方比令一方要快。我受雇于微軟,同時編寫PHP和ASP.NET代碼。我在.NET出現(xiàn)之前就在使用PHP,兩個東西我都很喜歡。


所以,我很難說出哪個更好。當(dāng)我說PHP好話時,我的微軟同事們會寫信來批評我,而當(dāng)我發(fā)表傾向于ASP.NET的言論時,我的PHP朋友們會說我是微軟的托。


我進(jìn)行這個測試是因?yàn)槊總€人都對PHP的性能有自己的看法(Windows vs. Linux & 5.2 vs. 5.3),卻沒人能給出明確的數(shù)據(jù)。


ASP.NET比拼PHP的測試環(huán)境如下:


◆所有的測試都在同一臺機(jī)器上運(yùn)行(擁有4G內(nèi)存和60G 7200轉(zhuǎn)硬盤的Toshiba Tecra M5)。


◆Ubuntu 9和Windows Server 2008標(biāo)準(zhǔn)版分別安裝于獨(dú)立(但相同)的硬盤中。


◆Linux使用Apache2,Windows使用IIS 7作為各自的Web服務(wù)器。


◆雙方的操作系統(tǒng)都進(jìn)行了完整的patch或升級。


◆雙方的系統(tǒng)和運(yùn)行時都沒有進(jìn)行額外的性能增強(qiáng)。


從實(shí)驗(yàn)結(jié)果上看,PHP在Linux和Windows的執(zhí)行性能各有千秋:


◆純粹的語句執(zhí)行在Windows上表現(xiàn)更好。


◆函數(shù)調(diào)用在Windows上更快。


◆對象的創(chuàng)建和訪問,對于PHP 5.2來說在Linux上更快,但是對于PHP 5.3來說則是Windows更快。


◆類庫調(diào)用在Linux上快得多(如在Ubuntu上進(jìn)行加密要比Windows要快3到5倍)。


Linux與Windows平臺對比


在Linux上訪問文件性能略高于Windows,不過Windows上文件復(fù)制的性能要比Linux慢60%,可能是ACL高級安全的緣故。


在Linux上訪問MySQL要比Windows快不少,而且在Windows上運(yùn)行PHP 5.3的情況則更為惡劣(不過從下面PostgreSQL的情況上來看,這應(yīng)該是糟糕實(shí)現(xiàn)的緣故)。


PostgreSQL在兩個平臺上的性能非常接近(1000個操作的差距在0.06秒之內(nèi))——無論是PHP 5.3還是PHP 5.2,Windows上表現(xiàn)都略勝一籌。


Windows上PHP 5.2訪問MS SQL Server的性能稍遜于在Linux上訪問MySQL(此時還沒有面向PHP 5.3的SQL Server支持)。


對于純粹的PHP執(zhí)行性能來說,Linux和Windows相差無幾,這不會成為選擇Linux或Windows作為部署平臺的決定性因素。如果你在構(gòu)建一個應(yīng)用程序,那么PostgreSQL可能是更好的選擇。因?yàn)樗趦蓚€平臺上的表現(xiàn)都很優(yōu)秀。


如果你的應(yīng)用程序必須使用MySQL,那么選擇Windows就需要早些計(jì)劃擴(kuò)展性問題了(個人認(rèn)為Sun不太可能為Windows優(yōu)化MySQL的性能)。


PHP的第一個版本的SQL Server驅(qū)動程序要比MySQL或PostpreSQL要慢一些,但這應(yīng)該不會成為問題。第二個版本的驅(qū)動器正在開發(fā)之中,它會帶來性能提升。


在Joe看來,全面來看,PHP和IIS團(tuán)隊(duì)在執(zhí)行性能上已經(jīng)做的非常成功,接下來就需要各開源程序的團(tuán)隊(duì)(Drupal、WordPress、Joomla等等)為各平臺進(jìn)行性能優(yōu)化了。


不過,除了文件復(fù)制操作之外,ASP.NET在性能方面全面領(lǐng)先于PHP(無論部署在Linux還是Windows上面):


Linux上訪問MySQL的性能稍稍優(yōu)于Windows上訪問SQL Server的性能(使用普通的數(shù)據(jù)類型和SELECT語句)。但是這里的差距幾乎可以忽略不計(jì)。


ASP.NET(C#)操作,如對象使用,類庫調(diào)用等等,其性能都遠(yuǎn)高于PHP。對于這個測試結(jié)果,Joe補(bǔ)充道:


我知道我的一些PHP朋友和Linux伙計(jì)們要跳出來駁斥我的測試和結(jié)果了。


我一直在思考,這樣的性能比較是否需要加入一些高級的優(yōu)化選項(xiàng)。不過.NET方面也有例如多線程,異步請求,和各種緩存方式可以使用


請注意——我并沒有說“ASP.NET更快,所以你不應(yīng)該使用PHP!”,我使用認(rèn)為,PHP過于簡單導(dǎo)致對某些高級應(yīng)用來說有些舉步維艱,就像ASP.NET在項(xiàng)目早期會有學(xué)習(xí)方面的復(fù)雜性。


對我來說,PHP最令人興奮的地方不是它的語言/平臺,而是成千上萬聰明的PHP開發(fā)人員,以及各種優(yōu)秀的項(xiàng)目(如Drupal、Joomla、WordPress、PHPBB、Nuke等等)。


可以這么認(rèn)為,PHP在Windows和Linux上的性能處于同一個水平上,我現(xiàn)在終于可以為Windows編寫那些我盼望著許多年的PHP類庫了。


Joe還公開了測試代碼。他表示,如果你對這個測試的結(jié)果有疑義,可以親自進(jìn)行這個實(shí)驗(yàn),或是編寫你自己的測試代碼進(jìn)行試驗(yàn)。


文章發(fā)布之后,許多網(wǎng)友對這一測試結(jié)果發(fā)表了看法。Joe基本上逐一回復(fù)了其中的主要觀點(diǎn):


“我使用ASP.NET只是因?yàn)槲蚁矚gVisual Studio IDE”——我個人認(rèn)為Visual Studio是最有生產(chǎn)力的開發(fā)工具。但是,PHP的有不錯的選擇。我使用Zend Studio,PHPEd,Komodo,Delphi for PHP,這些都很不錯。我討厭Eclipse,不過Zend也在這方面為PHP開發(fā)做了不少擴(kuò)展。


應(yīng)該比較ASP的性能——不用了,謝謝。舊式的ASP與目前的PHP與ASP.NET差距太大了。做這種比較,似乎是在建議使用ASP開發(fā)新項(xiàng)目,我強(qiáng)烈不建議你這么做。


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進(jìn)行測試——Apache是Linux上的服務(wù)器,不過我認(rèn)為如果你在Windows上不使用IIS 7則會損失太多太多東西了。


“有辦法在Win2K8中,在不損失安全性的前提下加快文件復(fù)制性能嗎?”——似乎不行。我認(rèn)為這涉及到Windows服務(wù)器上的ACL系統(tǒng)。我以后可能會測試通過數(shù)據(jù)流讀取文件的性能,有些東西的性能可能會有所改善。不過,Web應(yīng)用程序一般不會編程來復(fù)制大量文件。


“PHP一直是,也永遠(yuǎn)只是一個半專業(yè)性質(zhì)的環(huán)境”——這種說法狗屁不通。PHP平臺上有許多專業(yè)的,高質(zhì)量的應(yīng)用程序,也有很多我非常尊敬的開發(fā)人員。是否專業(yè)是開發(fā)人員的問題,不是PHP或ASP.NET的問題。


“我認(rèn)為比較沒有opcode緩存的PHP很不公平,.NET是編譯執(zhí)行的,而PHP需要每次都解釋并‘編譯’頁面”——我同意這個測試可能不夠完整,但是我不認(rèn)同這個邏輯。我測試PHP的方式,就和下載安裝的方式一樣。我的虛擬主機(jī)也沒有安裝op-code緩存。而事實(shí)上,ASP.NET自帶這個特性也并不意味著測試是不公平的,這是因?yàn)镻HP缺少這個特性——不過這個要求很合理,我正在準(zhǔn)備新的測試。


“說PHP不是一個‘專業(yè)的’語言很沒道理,因?yàn)閹缀跛凶畲蟮恼军c(diǎn)都是用PHP構(gòu)建的”——這種說法是沒道理,不過說那些站點(diǎn)“幾乎都是”用PHP構(gòu)建的也是錯誤的。有些是,有些不是。


如果你們看到這一數(shù)據(jù)之后對ASP.NET信心倍增我自然很高興。如果我不認(rèn)為.NET是開發(fā)Web應(yīng)用程序來說是一種更好的選擇——至少不屬于其它平臺,那么我也不會在微軟工作了。


但是……如果你因?yàn)檫@些數(shù)據(jù)而忽視PHP,也是錯誤且幼稚的行為。


從純技術(shù)角度來說,我認(rèn)為.NET遠(yuǎn)比PHP強(qiáng)大,但這并不意味著PHP不夠強(qiáng)大。在我看來,PHP的力量體現(xiàn)在眾多的應(yīng)用程序以及可用的框架。


大約一周以后,Joe公開了第二次測試的結(jié)果。與前一個測試相比,第二個測試主要有以下兩個改變:


為Linux和Windows上安裝了op-code緩存,并重新運(yùn)行了大部分測試。


由于一些依賴項(xiàng)的問題,PHP 5.3 + APC的測試平臺變成了Debain 5操作系統(tǒng)。


對于第二次測試及其結(jié)果,Joe解釋到:


從結(jié)果上看,Ubuntu和Debian上運(yùn)行PHP的性能差距可以忽略不計(jì)。部分條目的性能有些細(xì)小的改進(jìn),有些則有25%的提高,但是總體來說其效果比我想象中要來得低。


使用APC之后,一些條目的運(yùn)行反而變慢了,不過我認(rèn)為這只是機(jī)器所造成的誤差。請注意,表格中顯示的不是第一次的結(jié)果,都是經(jīng)過兩次刷新,確認(rèn)是在緩存命中時得到的結(jié)果。


我認(rèn)為現(xiàn)在的測試非常公平。


空的循環(huán)測試和空的函數(shù)執(zhí)行非常重要,因?yàn)檫@反映了語言或平臺的基礎(chǔ)消耗。這是處頁面?zhèn)鬏數(shù)刃阅荛_銷外的性能消耗,是一個重要的考慮方面。


我的一些PHP朋友也認(rèn)可這個測試的準(zhǔn)確性,不過給出了非常有見解的補(bǔ)充:


ASP.NET在性能上的領(lǐng)先不會對我有什么影響。PHP是我的最愛,我的應(yīng)用程序已經(jīng)足夠快了。沒錯,ASP.NET在基礎(chǔ)性能上是比較快,但是我的應(yīng)用程序可以通過優(yōu)秀的頁面實(shí)現(xiàn)和JavaScript實(shí)踐把這部分性能補(bǔ)回來。


此外,根據(jù)上一次實(shí)驗(yàn)的結(jié)果,在Windows平臺上運(yùn)行PHP時,在MySQL和文件的訪問上有一些性能問題,微軟許多團(tuán)隊(duì)都向我獲取了相關(guān)信息。希望這些數(shù)據(jù)都夠轉(zhuǎn)變?yōu)榍袑?shí)的改進(jìn)。


Joe表示,他將收集大家認(rèn)為更公平,更有意義的測試場景。以下是他所計(jì)劃的測試項(xiàng)目:


◆實(shí)際頁面測試:循環(huán),寒暑調(diào)用和對象操作是一類測試,不過頁面的整體呈現(xiàn)則是另一種有意義的測試。


◆負(fù)載測試:哪一個環(huán)境可以同時處理更大量的請求。


◆在負(fù)載測試中,哪一方的性能會下降地更快。


◆在各種情況下,64位平臺的表現(xiàn)如何。


國內(nèi)也曾經(jīng)進(jìn)行過PHP在Linux和Windows平臺上的性能測試。InfoQ曾經(jīng)報(bào)道過微軟在WordCamp China 2009大會上公開了之前與康盛創(chuàng)想合作進(jìn)行的性能評估結(jié)果:在Windows Server 2008 + IIS上運(yùn)行PHP,從平均相應(yīng)時間,每秒處理的請求數(shù),以及數(shù)據(jù)吞吐量等多方便均優(yōu)于Linux + Apache的托管方式。


該文章在 2011/2/1 14:42:02 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 91精品人成在线观看 | 中文字幕电影一区二区 | 999zyz玖玖资源站永久 | 中文字幕一区二区三区 | 免费播放婬乱男女婬视频国产 | 欧美性色aⅴ欧美综合色 | 欧美一区二区三区视频在线 | 国产又粗又大又黄的视频 | 日韩中文字幕在线观看 | 国产va精品免费在线观看 | 国产午夜理论不卡在线观看 | 国产人成 | 草莓视频污污版 | 国内精品自在自线视频香蕉 | 涩涩视频午夜福利一区二区 | 国产福利不卡免费视频在线观 | 国产一级特黄aaa大片在线观 | 国产亚洲日韩网暴欧美台湾 | 亚洲精品中文字幕字幕 | 一区二区日韩 | 亚洲大片在线观看网址 | 欧美另类吹潮 | 97国产婷婷综合视 | 91视频欧美国产 | 亚洲精品天堂在 | 香蕉国产亚洲精品va在线观 | 国产亚洲精品高清在线 | 欧美激情一区二区三区在线播放 | 国产精品一 | 黄又爽免费网站 | 99视频热这里只有精品 | 欧美亚洲在线观看 | 自拍偷自拍亚洲精品情侣 | 欧美级韩国三级日本三级 | 国产精品亚洲产品一区二区三区 | 一区二区免费 | 2025年最新电影电视剧 | 99热日韩 | 亚洲人成中文字幕在 | 91精品啪在线观看国产色 | 色久视频 |