六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 69|回复: 0

node.js vs tornado

[复制链接]

升级  82%

9

主题

9

主题

9

主题

童生

Rank: 1

积分
41
 楼主| 发表于 2013-1-15 02:16:35 | 显示全部楼层 |阅读模式
 
早就听说V8的威力了,由于一直在用tornado做项目,今天特意拿tornadonode.js来做个简单的对比压力测试。结果是node.js胜出。
 
硬件: 普通pc机 双核  内存2g
OS: ubuntu 10.04
 
先说一下node.js的安装:
wget -c http://nodejs.org/dist/node-v0.3.1.tar.gz
# ./configure
# make
# make install
 
如果需要ssl, 则先apt-get install libssl-dev
 
启动基于node.js的web server
脚本web.js如下:
 
var http = require('http');http.createServer(function (req, res) {    res.writeHead(200, {'Content-Type': 'text/plain'});    res.end('Hello bobning\n');}).listen(8124, "127.0.0.1");console.log('Server running at http://127.0.0.1:8124/'); # node web.js
Server running at http://127.0.0.1:8124/
 
启动基于tornado的web server
tornado就更简单了,在demos下有个helloworld项目,默认端口为8888
# ./helloworld.py --logging=error   #注意把log关闭,否则影响测试结果
 
 
测试开始:
# ab -c10 -n1000 http://127.0.0.1:8124/   #node.js
Concurrency Level:      10
Time taken for tests:   0.208 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      76000 bytes
HTML transferred:       12000 bytes
Requests per second:    4796.92 [#/sec] (mean)
    Time per request:       2.085 [ms] (mean)
    Time per request:       0.208 [ms] (mean, across all concurrent requests)
    Transfer rate:          356.02 [Kbytes/sec] received
 
# ab -c10 -n1000 http://127.0.0.1:8888/   #tornado
Concurrency Level:      10
Time taken for tests:   0.509 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      168000 bytes
HTML transferred:       12000 bytes
Requests per second:    1963.95 [#/sec] (mean)
    Time per request:       5.092 [ms] (mean)
    Time per request:       0.509 [ms] (mean, across all concurrent requests)
    Transfer rate:          322.21 [Kbytes/sec] received
 
猛一点:
# ab -c1000 -n20000 http://127.0.0.1:8124/  #node.js
Concurrency Level:      1000
Time taken for tests:   2.629 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Total transferred:      1520000 bytes
HTML transferred:       240000 bytes
Requests per second:    7606.23 [#/sec] (mean)
    Time per request:       131.471 [ms] (mean)
    Time per request:       0.131 [ms] (mean, across all concurrent requests)
    Transfer rate:          564.52 [Kbytes/sec] received
 
 
# ab -c1000 -n20000 http://127.0.0.1:8888/  #tornado
Concurrency Level:      1000
Time taken for tests:   10.605 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Total transferred:      3360000 bytes
HTML transferred:       240000 bytes
Requests per second:    1885.98 [#/sec] (mean)
    Time per request:       530.228 [ms] (mean)
    Time per request:       0.530 [ms] (mean, across all concurrent requests)
    Transfer rate:          309.42 [Kbytes/sec] received
 
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表