Browse files

Add idle connection test

  • Loading branch information...
1 parent ff456b3 commit 3cf4827ae0c2a578d1831caffd8e9e15aee1907a @ry ry committed Oct 15, 2010
Showing with 89 additions and 0 deletions.
  1. +6 −0 Makefile
  2. +50 −0 benchmark/idle_clients.js
  3. +33 −0 benchmark/idle_server.js
View
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
View
50 benchmark/idle_clients.js
@@ -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);
+
View
33 benchmark/idle_server.js
@@ -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);
+

0 comments on commit 3cf4827

Please sign in to comment.