关于IIS、Jexus、Node.js、OpenResty的简单测试
申明:性能测试结果与测试机配置、测试用例的编写以及测试软件的版本有莫大关系,以下测试结论仅供参考。话说又说回来,每个人不亲信宣传自己动手测一下性能,今后技术选型不是更有底么。
测试机配置及测试软件明细:
- 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的组合,只是相关资料教程都很有限,搜来搜去就那么几篇,影响了其在业内的推广。