mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
@@ -1,48 +1,43 @@
|
||||
var http = require("http");
|
||||
var http = require('http');
|
||||
|
||||
var concurrency = 30;
|
||||
var port = 12346;
|
||||
var n = 7; // several orders of magnitude slower
|
||||
var n = 700;
|
||||
var bytes = 1024*5;
|
||||
|
||||
var requests = 0;
|
||||
var responses = 0;
|
||||
|
||||
var body = "";
|
||||
var body = '';
|
||||
for (var i = 0; i < bytes; i++) {
|
||||
body += "C";
|
||||
body += 'C';
|
||||
}
|
||||
|
||||
var server = http.createServer(function (req, res) {
|
||||
var server = http.createServer(function(req, res) {
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/plain",
|
||||
"Content-Length": body.length
|
||||
'Content-Type': 'text/plain',
|
||||
'Content-Length': body.length
|
||||
});
|
||||
res.write(body);
|
||||
res.close();
|
||||
res.end(body);
|
||||
})
|
||||
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++;
|
||||
}
|
||||
server.listen(port, function() {
|
||||
var agent = new http.Agent();
|
||||
agent.maxSockets = concurrency;
|
||||
|
||||
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++;
|
||||
}
|
||||
for (var i = 0; i < n; i++) {
|
||||
var req = http.get({
|
||||
port: port,
|
||||
path: '/',
|
||||
agent: agent
|
||||
}, function(res) {
|
||||
res.on('end', function() {
|
||||
if (++responses === n) {
|
||||
server.close();
|
||||
}
|
||||
});
|
||||
});
|
||||
req.id = i;
|
||||
requests++;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user