Skip to content

Commit bafc51c

Browse files
committed
bench: Move tls-connect into benchmark/tls
Also, make it work properly with current node.
1 parent 8c719f7 commit bafc51c

2 files changed

Lines changed: 63 additions & 86 deletions

File tree

benchmark/tls-connect.js

Lines changed: 0 additions & 86 deletions
This file was deleted.

benchmark/tls/tls-connect.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
var assert = require('assert'),
2+
fs = require('fs'),
3+
path = require('path'),
4+
tls = require('tls');
5+
6+
var common = require('../common.js');
7+
var bench = common.createBenchmark(main, {
8+
concurrency: [1, 10],
9+
dur: [1, 3]
10+
});
11+
12+
var clientConn = 0;
13+
var serverConn = 0;
14+
var server;
15+
var dur;
16+
var concurrency;
17+
var running = true;
18+
19+
function main(conf) {
20+
dur = +conf.dur;
21+
concurrency = +conf.concurrency;
22+
23+
var cert_dir = path.resolve(__dirname, '../../test/fixtures'),
24+
options = { key: fs.readFileSync(cert_dir + '/test_key.pem'),
25+
cert: fs.readFileSync(cert_dir + '/test_cert.pem'),
26+
ca: [ fs.readFileSync(cert_dir + '/test_ca.pem') ] };
27+
28+
server = tls.createServer(options, onConnection);
29+
server.listen(common.PORT, onListening);
30+
}
31+
32+
function onListening() {
33+
setTimeout(done, dur * 1000);
34+
bench.start();
35+
for (var i = 0; i < concurrency; i++)
36+
makeConnection();
37+
}
38+
39+
function onConnection(conn) {
40+
serverConn++;
41+
}
42+
43+
function makeConnection() {
44+
var conn = tls.connect({ port: common.PORT,
45+
rejectUnauthorized: false }, function() {
46+
clientConn++;
47+
conn.on('error', function(er) {
48+
console.error('client error', er);
49+
throw er;
50+
});
51+
conn.end();
52+
if (running) makeConnection();
53+
});
54+
}
55+
56+
function done() {
57+
running = false;
58+
// it's only an established connection if they both saw it.
59+
// because we destroy the server somewhat abruptly, these
60+
// don't always match. Generally, serverConn will be
61+
// the smaller number, but take the min just to be sure.
62+
bench.end(Math.min(serverConn, clientConn));
63+
}

0 commit comments

Comments
 (0)