国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

ASP.NET和PHP性能之戰續:更公平的測試場景

開發 后端
上個月Joe Stagner在博客上發表了一系列文章比較了ASP.NET和PHP的執行性能,引起了來自雙方程序員的大量回應,并使得Joe進行了第二輪測試。本文對這些討論進行了簡短的總結。

有關ASP.NET和PHP的執行速度,一般第一印象會覺得PHP比較快。上個月有一篇Joe Stagner的博文對ASP.NET和PHP的執行速度進行了又一番比較,結果是ASP.NET性能較優(這在Justin James的博文上也提到過,51CTO因此也曾關注過)。不過這還沒完:這樣的話題一定會引來很多討論,而Joe也進行了第二輪測試。于是近日,InfoQ的趙劼又對雙方的論戰進行了總結如下:

上個月Joe Stagner在博客上發表了一系列文章比較了PHP和ASP.NET的執行性能,引起了來自雙方程序員的大量回應。Joe表示,他會將這樣的測試持續下去,并尋求更為合適的方式,以獲得對實際項目來說盡可能有參考價值的結論。

Joe表示:

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

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

我進行這個測試是因為每個人都對PHP的性能有自己的看法(Windows vs. Linux & 5.2 vs. 5.3),卻沒人能給出明確的數據。

根據Joe的描述,測試環境如下:

  1. 所有的測試都在同一臺機器上運行(擁有4G內存和60G 7200轉硬盤的Toshiba Tecra M5)。
  2. Ubuntu 9和Windows Server 2008標準版分別安裝于獨立(但相同)的硬盤中。
  3. Linux使用Apache2,Windows使用IIS 7作為各自的Web服務器。
  4. 雙方的操作系統都進行了完整的patch或升級。
  5. 雙方的系統和運行時都沒有進行額外的性能增強。

實驗結果上看,PHP在Linux和Windows的執行性能各有千秋

  1. 純粹的語句執行在Windows上表現更好。
  2. 函數調用在Windows上更快。
  3. 對象的創建和訪問,對于PHP 5.2來說在Linux上更快,但是對于PHP 5.3來說則是Windows更快。
  4. 類庫調用在Linux上快得多(如在Ubuntu上進行加密要比Windows要快3到5倍)。
  5. 在Linux上訪問文件性能略高于Windows,不過Windows上文件復制的性能要比Linux慢60%,可能是ACL高級安全的緣故。
  6. 在Linux上訪問MySQL要比Windows快不少,而且在Windows上運行PHP 5.3的情況則更為惡劣(不過從下面PostgreSQL的情況上來看,這應該是糟糕實現的緣故)。
  7. PostgreSQL在兩個平臺上的性能非常接近(1000個操作的差距在0.06秒之內)——無論是PHP 5.3還是PHP 5.2,Windows上表現都略勝一籌。
  8. Windows上PHP 5.2訪問MS SQL Server的性能稍遜于在Linux上訪問MySQL(此時還沒有面向PHP 5.3的SQL Server支持)。

Joe認為,這表示:

  1. 我們可以這么認為,對于純粹的PHP執行性能來說,Linux和Windows相差無幾,這不會成為選擇Linux或Windows作為部署平臺的決定性因素。
  2. 如果你在構建一個應用程序,那么PostgreSQL可能是更好的選擇。因為它在兩個平臺上的表現都很優秀。
  3. 如果你的應用程序必須使用MySQL,那么選擇Windows就需要早些計劃擴展性問題了(個人認為Sun不太可能為Windows優化MySQL的性能)。
  4. PHP的第一個版本的SQL Server驅動程序要比MySQL或PostpreSQL要慢一些,但這應該不會成為問題。第二個版本的驅動器正在開發之中,它會帶來性能提升。

在Joe看來,全面來看,PHP和IIS團隊在執行性能上已經做的非常成功,接下來就需要各開源程序的團隊(Drupal、WordPress、Joomla等等)為各平臺進行性能優化了。

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

  1. Linux上訪問MySQL的性能稍稍優于Windows上訪問SQL Server的性能(使用普通的數據類型和SELECT語句)。但是這里的差距幾乎可以忽略不計。
  2. ASP.NET(C#)操作,如對象使用,類庫調用等等,其性能都遠高于PHP。

對于這個測試結果,Joe補充道:

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

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

請注意——我并沒有說“ASP.NET更快,所以你不應該使用PHP!”,我使用認為,PHP過于簡單導致對某些高級應用來說有些舉步維艱,就像ASP.NET在項目早期會有學習方面的復雜性。

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

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

Joe還公開了測試代碼。他表示,如果你對這個測試的結果有疑義,可以親自進行這個實驗,或是編寫你自己的測試代碼進行試驗。

文章發布之后,許多網友對這一測試結果發表了看法。Joe基本上逐一回復了其中的主要觀點

“我使用ASP.NET只是因為我喜歡Visual Studio IDE”——我個人認為Visual Studio是最有生產力的開發工具。但是,PHP的有不錯的選擇。我使用Zend Studio,PHPEd,Komodo,Delphi for PHP,這些都很不錯。我討厭Eclipse,不過Zend也在這方面為PHP開發做了不少擴展。

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

32位與64位系統之間的比較——這些測試的目的并不是為了體現64位系統上的性能差距。今后的測試我會增加64位的場景。

“PHP丑陋至極”——哦,我不同意。舊式ASP要丑陋多了。你可以寫出非常可怕而丑陋的PHP代碼,也可以寫出丑陋而可怕的C#或VB代碼。同樣,你也可以寫出優雅的C++樣式的PHP。這完全只和開發人員的技能有關。

應該使用Windows上的Apache進行測試——Apache是Linux上的服務器,不過我認為如果你在Windows上不使用IIS 7則會損失太多太多東西了。

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

“PHP一直是,也永遠只是一個半專業性質的環境”——這種說法狗屁不通。PHP平臺上有許多專業的,高質量的應用程序,也有很多我非常尊敬的開發人員。是否專業是開發人員的問題,不是PHP或ASP.NET的問題。

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

“說PHP不是一個‘專業的’語言很沒道理,因為幾乎所有最大的站點都是用PHP構建的”——這種說法是沒道理,不過說那些站點“幾乎都是”用PHP構建的也是錯誤的。有些是,有些不是。

Joe補充道:

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

但是……如果你因為這些數據而忽視PHP,也是錯誤且幼稚的行為。

從純技術角度來說,我認為.NET遠比PHP強大,但這并不意味著PHP不夠強大。在我看來,PHP的力量體現在眾多的應用程序以及可用的框架。

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

  1. 為Linux和Windows上安裝了op-code緩存,并重新運行了大部分測試。
  2. 由于一些依賴項的問題,PHP 5.3 + APC的測試平臺變成了Debain 5操作系統。

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

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

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

我認為現在的測試非常公平。

空的循環測試和空的函數執行非常重要,因為這反映了語言或平臺的基礎消耗。這是處頁面傳輸等性能開銷外的性能消耗,是一個重要的考慮方面。

我的一些PHP朋友也認可這個測試的準確性,不過給出了非常有見解的補充:

  1. ASP.NET在性能上的領先不會對我有什么影響。PHP是我的最愛,我的應用程序已經足夠快了。
  2. 沒錯,ASP.NET在基礎性能上是比較快,但是我的應用程序可以通過優秀的頁面實現和JavaScript實踐把這部分性能補回來。
  3. 我在進行Drupal開發,我對PHP最熟悉,因此我寧愿多花一些硬件來保持更好的開發效率。

這些都是很不錯的評論!

此外,根據上一次實驗的結果,在Windows平臺上運行PHP時,在MySQL和文件的訪問上有一些性能問題,微軟許多團隊都向我獲取了相關信息。希望這些數據都夠轉變為切實的改進。

Joe表示,他將收集大家認為更公平,更有意義的測試場景。以下是他所計劃的測試項目:

  1. 實際頁面測試:循環,寒暑調用和對象操作是一類測試,不過頁面的整體呈現則是另一種有意義的測試。
  2. 負載測試:哪一個環境可以同時處理更大量的請求。
  3. 在負載測試中,哪一方的性能會下降地更快。
  4. 在各種情況下,64位平臺的表現如何。

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

對于ASP.NET和PHP的性能比較,你有什么看法么?

【編輯推薦】

  1. PHP ASP.NET的較量
  2. PHP與ASP.NET優劣勢分析
  3. Java、.Net、PHP、Ruby優劣勢概覽
  4. 9月編程語言排行榜:PHP的歷史性突破
  5. ASP.NET JSP PHP之間的取舍
責任編輯:yangsai 來源: InfoQ
相關推薦

2009-09-18 19:00:01

2009-07-28 15:04:34

PHP ASP.NET

2010-03-03 17:12:56

Ubuntu ASP.

2011-10-14 10:37:54

ASP.NET

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-01 09:27:22

ASP.NETJSPPHP

2009-07-28 14:30:35

ASP.NET JSP

2009-07-28 14:10:14

2009-07-22 18:03:00

ASP.NET ASP

2024-12-05 08:14:41

2009-07-27 14:46:16

XML和ASP.NET

2009-06-10 10:13:35

2024-06-11 09:00:00

異步編程代碼

2009-08-05 15:13:32

使用Cache提高AS

2010-02-07 09:28:09

2009-07-23 16:29:06

ASP.NET單元測試

2009-07-24 11:33:12

MVC單元測試ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET
點贊
收藏

51CTO技術棧公眾號

日本又骚又刺激的视频在线观看| 在线精品亚洲欧美日韩国产| 国产美女精品一区二区三区| 成人黄色在线免费| 蜜桃视频成人m3u8| 日韩欧美高清dvd碟片| 欧洲毛片在线| 精品欧美激情精品一区| 免费看的国产视频网站| 亚洲欧洲日产国码无码久久99| 亚洲麻豆av| 999热视频| 毛片在线播放网址| 亚洲欧美日韩国产中文在线| 熟妇人妻va精品中文字幕| 国产成人三级在线观看| 中文字幕亚洲天堂| 黄色av电影在线播放| 欧美日韩国产综合新一区 | 国产亚洲综合色| 国产精品333| 91农村精品一区二区在线| 毛片精品免费在线观看| 亚洲第一中文av| 久久久不卡网国产精品一区| 国产精品欧美一区二区| 九九综合九九| 成人免费观看a| 欧美精品网站| 亚洲成成品网站| 国内小视频在线看| 日韩成人小视频| 亚洲人成午夜免电影费观看| 中文在线资源观看视频网站免费不卡| 吞精囗交69激情欧美| 精品国产一区二区三区久久狼黑人 | 99在线精品免费视频九九视| 亚洲国产婷婷香蕉久久久久久| 国产免费黄色一级片| 粉嫩av亚洲一区二区图片| 4438全国成人免费| 精品视频亚洲| 九九九九精品| 丁香网亚洲国际| 成人黄色网页| 欧美日韩电影在线播放| 国产成人精品视频免费看| 久久久精品蜜桃| 中文在线播放| 日韩欧美成人一区| 久久久久亚洲蜜桃| 欧美另类一区| 怕怕欧美视频免费大全| 日韩精品一二三四区| 青檬在线电视剧在线观看| 国产美女精品视频免费播放软件| 激情国产在线| 亚洲天堂资源| 久久伊人精品天天| 97成人超碰免| 欧美一区二区三区四区夜夜大片| 日本在线视频中文有码| 久久久久久久电影| 蜜桃视频在线观看成人| sm捆绑调教国产免费网站在线观看 | 999在线视频| 精品二区视频| 久久久久久久久久久久av| 国产一区二区三区探花| 色噜噜一区二区| 国产精品黑丝在线播放| 亚洲日本精品| 亚洲精品一二三| а√在线天堂官网| 国产精品成人av性教育| 奇米影视一区二区三区小说| 成人av影视| 粉嫩在线一区二区三区视频| 成人av影视| 日韩欧美色综合| 国产在线播放精品| 日韩在线视频二区| av大大超碰在线| 欧美激情中文字幕在线| 亚洲国产日韩欧美一区二区三区| 久久精品免费一区二区| 欧美精品久久一区| 国产亚洲电影| 欧美日韩在线一| 日韩一级完整毛片| 成人精品视频| 99久久国产宗和精品1上映| 日韩美女一区二区三区| 欧美亚洲激情| 黄色av免费在线播放| 精品成人一区二区三区| 五月天久久777| 免费一区二区三区在线观看| 91免费版在线看| a视频在线播放| 国产欧美精品日韩| 国产亚洲精品资源在线26u| 深夜在线视频| 日本不卡在线播放| 欧美午夜丰满在线18影院| 久久视频在线观看| 高清在线观看免费| 亚洲色图综合网| 免费日本视频一区| 亚洲资源在线网| 欧美性一区二区| 99久精品视频在线观看视频| av三级影院| 久久久久久久久综合| 成人av在线影院| 精品久久久久久中文字幕2017| 亚洲丁香久久久| 久久婷婷丁香| av免费在线免费观看| 国模精品娜娜一二三区| 在线一区二区三区四区| 亚洲精品白浆| 高清国语自产拍免费一区二区三区| 亚洲欧洲色图综合| 激情不卡一区二区三区视频在线| 欧美一级视频免费在线观看| 91亚洲国产成人精品一区二区三 | 日韩在线你懂得| 日本大胆人体视频| 国产区在线观看成人精品| 日韩城人网站| 妞干网在线观看视频| 日韩中文字幕国产精品| 日韩影视在线观看| 日本黄大片一区二区三区| 久久久久久综合网天天| 中文字幕在线不卡一区二区三区| 卡通动漫精品一区二区三区| 国产网站免费观看| 欧美丝袜丝交足nylons| 欧美xxav| chinese偷拍一区二区三区| 国产区日韩欧美| 在线不卡欧美精品一区二区三区| 亚洲韩日在线| 日本中文字幕视频在线| 日韩二区三区在线| 国产福利一区在线| 韩国女主播一区二区| 精品少妇人妻av免费久久洗澡| 久久韩剧网电视剧| 亚洲欧洲成人自拍| av无码精品一区二区三区| 国产美女永久无遮挡| 一区二区三区精品视频| 午夜精品久久久久久久四虎美女版| 国产精品影院在线| 亚洲巨乳在线观看| 久久视频这里只有精品| 亚洲欧美综合在线精品| 婷婷综合网站| 超碰最新在线| 中文字幕日韩精品无码内射| 欧美老女人性视频| 91精品国产乱码久久久久久久| 尤物网在线观看| 一级特黄妇女高潮| 久热国产精品视频| 婷婷一区二区三区| 香蕉成人久久| 成人亚洲精品| 四虎在线免费观看| 亚洲欧美一区二区原创| 欧美日韩福利视频| 日本韩国一区二区三区| 精品视频一区二区三区| 亚洲精品666| 日韩小视频网址| 一区二区三区高清| 久久三级福利| 国产女人18毛片水真多18精品| 黄网站在线观看| 日本丰满少妇xxxx| 4444kk亚洲人成电影在线| 欧美激情一区二区三区在线| 99国产**精品****| 日本精品另类| 毛片在线免费| koreanbj精品视频一区| 国产专区精品视频| 亚洲精品自拍偷拍| 日韩午夜av在线| 国产成人精选| www.久久热.com| 日韩精品一区二区三区不卡| 国产成人精品福利一区二区三区 | 久久久美女毛片| 99精品视频免费观看视频| 91精品啪在线观看国产爱臀| 日本三级在线视频|