沒有銀彈 NODE.JS效能未必就很高

px96004發表於2014-03-24
node.js很火,效能如何如何。
確實,在使用簡單的例子:

var http =require('http');
http.createServer(function(req,res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(1337,"127.0.0.1");

返回個Hello World.

然後我用AB測試一下。我累了個去的。
ab -n 1000 -c 100 http://localhost:1337/
...

Requests per second: 4923.08 [#/sec] (mean)
Time per request: 20.313 [ms] (mean)
Time per request: 0.203 [ms] (mean, across all concurrent requests)
Transfer rate: 543.27 [Kbytes/sec] received

OH MYGOD!!!! ,rps將近 5000。這還是隻用到了一個核心的單執行緒例子。
八核心豈不是能上4W?
一臺小電腦足夠支撐一個大型醫院的了吧(不考慮資料庫和其他的)。

但是真正在生產環境下呢?比如一個使用最簡單的 Express框架,最簡單的MVC模式

====routes/index.js=======
exports.index = function(req, res){
res.render('index', { title: 'Express' });
};

====view/index.jade=======
extends layout

block content
h1 #{title}
p Welcome to [#{title}]

結果呢????
ab -n 1000 -c 100 http://localhost:3000/
Requests per second: 149.53 [#/sec] (mean)

rps 也就 150了。顯然照JSP比差得很多。。。

相關文章