为什么节点https请求比http请求

时间:2015-11-24 17:41:15

标签: node.js performance-testing

我有以下代码,我使用http和https网址对帖子进行了性能测试。结果实际上让我感到惊讶。 https请求表现更好。

var express = require('express');
var fs =require('fs');
var https = require('https');
var http = require('http');
var authTransaction = require('./routes/trans');
var app = express();
app.configure(function(){
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
});
var privateKey  = fs.readFileSync(mykey.pem', 'utf8');
var certificate = fs.readFileSync('mycert.pem', 'utf8');
var passphrase ="blahblah";

var credentials = {key: privateKey, cert: certificate,passphrase:passphrase};
var httpsServer = https.createServer(credentials, app).listen(9090);
var httpServer = http.createServer(app).listen(5000);

app.get('/',function(req,res){
    res.send("hello ");
})

app.post('/trans', function(req,res){
    var purchase= new Purchase(req.body);
    purchase.save(function(err){
        if(err) {
            res.send({'error': 'An error occured'});
        }else{
                res.json({
                  "status": {
                        "message": [
                        "Success"
                        ]
                    }
            });
        }
    });
});

我跑了10个主题1小时,结果如下

结果:

NodeJS - https

Test    Min  Max    Avg   Last  Count      Throughput      Bytes     BPS    
Trans   5   3017    12.69   7     47010        13.05    13961970    3878

NodeJS - http

Test    Min Max     Avg    Last Count   Throughput  Bytes   BPS 
Trans   17  3031    40.26   29  45326   12.59    13461822   3739    

任何人都可以在这里投光吗?

1 个答案:

答案 0 :(得分:1)

当同一个客户端反复重新连接时(参见Here ),SSL握手会缩短,以便提供您需要在各种客户端进程和计算机上进行测试的准确图片。