var http = require("http"); var concurrency = 30; var port = 12346; var n = 7; // several orders of magnitude slower var bytes = 1024*5; var requests = 0; var responses = 0; var body = ""; for (var i = 0; i < bytes; i++) { body += "C"; } var server = http.createServer(function (req, res) { res.writeHead(200, { "Content-Type": "text/plain", "Content-Length": body.length }); res.write(body); res.close(); }) server.listen(port); function responseListener (res) { res.addListener("end", function () { if (requests < n) { var req = res.client.request("/"); req.addListener('response', responseListener); req.close(); requests++; } if (++responses == n) { server.close(); } }); } for (var i = 0; i < concurrency; i++) { var client = http.createClient(port); client.id = i; var req = client.request("/"); req.addListener('response', responseListener); req.close(); requests++; }