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
--- /dev/null
+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);
+
--- /dev/null
+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);
+