0

I try to use benchmark.js to get some stats on a node server performance but somehow can't get the server function call and no stats, the only stuff I get - the server starts through the benchmarking script.

How to get the stats and not start the server if benchmark.js is suitable for this kind of tasks?

the server:

t-server.js

'use strict';
var
    http = require('http');
var self = module.exports = {
    init: function(){
        self.server = http.createServer(self.handleRequest);
        self.server.listen(8080, function(){
            console.log("Server up ");
        });
    }
}

self.handleRequest = function(request, response) {
    var requestParams = {a: 'a', b: 1};
    self.process2test(response, requestParams);
}

self.process2test = function(response, requestParams) {
    console.log("in process2test, got a:"+requestParams.a+",b:"+requestParams.b);
}

self.init();

benchmark script

benchmark-v.js

var Benchmark = require('benchmark');
var suite = new Benchmark.Suite();
var server = require('./t-server');

var response={};
var requestParams = {
    "a":"a",
    "b": 2
    };

suite.add('process2test_a', function(response, requestParams) {
    requestParams.b++;
    server.process2test(response,requestParams);
})
.add('process2test_b', function(response, requestParams) {
    requestParams.a='c';
    server.process2test(response,requestParams);
})
.on('cycle', function(event) {
  console.log(String(event.target));
})
.on('complete', function() {
  console.log('Fastest is ' + this.filter('fastest').map('name'));
})
.run({ 'async': true });
cur4so
  • 1,750
  • 4
  • 20
  • 28

0 Answers0