Merge remote-tracking branch 'origin/v0.10'
[platform/upstream/nodejs.git] / benchmark / static_http_server.js
1 var http = require('http');
2
3 var concurrency = 30;
4 var port = 12346;
5 var n = 700;
6 var bytes = 1024*5;
7
8 var requests = 0;
9 var responses = 0;
10
11 var body = '';
12 for (var i = 0; i < bytes; i++) {
13   body += 'C';
14 }
15
16 var server = http.createServer(function(req, res) {
17   res.writeHead(200, {
18     'Content-Type': 'text/plain',
19     'Content-Length': body.length
20   });
21   res.end(body);
22 })
23
24 server.listen(port, function() {
25   var agent = new http.Agent();
26   agent.maxSockets = concurrency;
27
28   for (var i = 0; i < n; i++) {
29     var req = http.get({
30       port:  port,
31       path:  '/',
32       agent: agent
33     }, function(res) {
34       res.resume();
35       res.on('end', function() {
36         if (++responses === n) {
37           server.close();
38         }
39       });
40     });
41     req.id = i;
42     requests++;
43   }
44 });