申明:性能測試結果與測試機配置、測試用例的編寫以及測試軟件的版本有莫大關系,以下測試結論僅供參考。話說又說回來,每個人不親信宣傳自己動手測一下性能,今后技術選型不是更有底么。
測試機配置及測試軟件明細:
- CPU: Core i3-2100 3.10GHz
- 內存: 4GB
- 硬盤: 希捷 2TB
- OS1: Win7 SP1 32位
- OS2: Ubuntu 12.10 32位
- 數據庫: MySQL 5.5.27 32位
- 測試軟件: ab 2.3
測試組合如下,除了IIS是運行於Win7外其余3種組合都運行於Ubunut,數據庫、Web Server以及測試軟件運行於同一台PC:
- IIS 7.5 + ASP.Net MVC3 (.Net 4.0)
- Jexus 5.2.3 + ASP.Net MVC3 (mono 2.10.8.1)
- Node.js 0.10.3 + express
- OpenResty 1.2.6.6 (nginx + luajit)
首先測試的是4種組合直接返回Hello World頁面(213Bytes)的數據,結果如下圖:
然后測試4種組合查詢同一個MySQL數據庫返回json字符串(246Bytes)的數據,結果如下圖:
最后測試4種組合查詢同一個MySQL數據庫返回json字符串(3965Bytes)的數據,結果如下圖:
測試結論:
個人感覺上手最簡單的node.js性能最差,出乎意料!IIS與Jexus性能接近,Jexus強點兒有限。基於Nginx和Lua優良基因的富二代OpenResty在三輪測試中均大幅度領先對手,10K Web Server的稱號真不是蓋的。眼下Nginx+Lua風頭正盛,阿里巴巴和新浪都已開始在內部運用Nginx+Lua的組合,只是相關資料教程都很有限,搜來搜去就那么幾篇,影響了其在業內的推廣。