mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
872 B
41 lines
872 B
'use strict';
|
|
var common = require('../common.js');
|
|
var PORT = common.PORT;
|
|
|
|
var cluster = require('cluster');
|
|
if (cluster.isMaster) {
|
|
var bench = common.createBenchmark(main, {
|
|
// unicode confuses ab on os x.
|
|
type: ['bytes', 'buffer'],
|
|
len: [4, 1024, 102400],
|
|
c: [50, 500]
|
|
});
|
|
} else {
|
|
var port = parseInt(process.env.PORT || PORT);
|
|
require('../fixtures/simple-http-server.js').listen(port);
|
|
}
|
|
|
|
function main(conf) {
|
|
process.env.PORT = PORT;
|
|
var workers = 0;
|
|
var w1 = cluster.fork();
|
|
var w2 = cluster.fork();
|
|
|
|
cluster.on('listening', function() {
|
|
workers++;
|
|
if (workers < 2)
|
|
return;
|
|
|
|
setTimeout(function() {
|
|
var path = `/${conf.type}/${conf.len}`;
|
|
|
|
bench.http({
|
|
path: path,
|
|
connections: conf.c
|
|
}, function() {
|
|
w1.destroy();
|
|
w2.destroy();
|
|
});
|
|
}, 100);
|
|
});
|
|
}
|
|
|