mirror of
https://github.com/nodejs/node.git
synced 2025-12-28 16:07:39 +00:00
Add idle connection test
This commit is contained in:
parent
ff456b3886
commit
3cf4827ae0
6
Makefile
6
Makefile
@ -85,4 +85,10 @@ dist: doc/node.1 doc/api.html
|
||||
bench:
|
||||
benchmark/http_simple_bench.sh
|
||||
|
||||
bench-idle:
|
||||
./node benchmark/idle_server.js &
|
||||
sleep 1
|
||||
./node benchmark/idle_clients.js &
|
||||
|
||||
|
||||
.PHONY: bench clean docclean dist distclean check uninstall install all test test-all website-upload
|
||||
|
||||
50
benchmark/idle_clients.js
Normal file
50
benchmark/idle_clients.js
Normal file
@ -0,0 +1,50 @@
|
||||
net = require('net');
|
||||
|
||||
var errors = 0, connections = 0;
|
||||
|
||||
function connect () {
|
||||
process.nextTick(function () {
|
||||
var s = net.Stream();
|
||||
var gotConnected = false;
|
||||
s.connect(9000);
|
||||
s.on('connect', function () {
|
||||
gotConnected = true;
|
||||
connections++;
|
||||
connect();
|
||||
});
|
||||
|
||||
var haderror = false;
|
||||
|
||||
s.on('close', function () {
|
||||
if (gotConnected) connections--;
|
||||
if (!haderror) connect();
|
||||
});
|
||||
|
||||
s.on('end', function () {
|
||||
s.end();
|
||||
});
|
||||
|
||||
s.on('error', function () {
|
||||
haderror = true;
|
||||
errors++;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
connect();
|
||||
|
||||
|
||||
var oldConnections, oldErrors;
|
||||
|
||||
setInterval(function () {
|
||||
if (oldConnections != connections) {
|
||||
oldConnections = connections;
|
||||
console.log("CLIENT %d connections: %d", process.pid, connections);
|
||||
}
|
||||
|
||||
if (oldErrors != errors) {
|
||||
oldErrors = errors;
|
||||
console.log("CLIENT %d errors: %d", process.pid, errors);
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
33
benchmark/idle_server.js
Normal file
33
benchmark/idle_server.js
Normal file
@ -0,0 +1,33 @@
|
||||
net = require('net');
|
||||
connections = 0;
|
||||
|
||||
var errors = 0;
|
||||
|
||||
server = net.Server(function (socket) {
|
||||
|
||||
socket.on('end', function () {
|
||||
socket.end();
|
||||
});
|
||||
|
||||
socket.on('error', function () {
|
||||
errors++;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
server.listen(9000);
|
||||
|
||||
var oldConnections, oldErrors;
|
||||
|
||||
setInterval(function () {
|
||||
if (oldConnections != server.connections) {
|
||||
oldConnections = server.connections;
|
||||
console.log("SERVER %d connections: %d", process.pid, server.connections);
|
||||
}
|
||||
|
||||
if (oldErrors != errors) {
|
||||
oldErrors = errors;
|
||||
console.log("SERVER %d errors: %d", process.pid, errors);
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user