Justin
Justin

Reputation: 45350

Get requests per second from node.js http server

Is there a way in node.js to get the number of open connections and number of requests per second from a http server?

Assume the following simple server:

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end("Hello World!");
}).listen(80);

Thanks.

Upvotes: 2

Views: 4241

Answers (1)

Andrey Sidorov
Andrey Sidorov

Reputation: 25456

This is what I usually do when I want to double-check numbers ab/httperf/wrk/siege report:

var served = 0;
var concurrent = 0;

http.createServer(function (req, res) {
  concurrent++;
  res.writeHead(200, {'Content-Type': 'text/plain'});
  setTimeout(function() { // emulate some async delay
    served++;
    concurrent--;
    res.end("Hello World!");
  }, 10);
}).listen(80);

setInterval(function() {
  console.log('Requests per second:' + served);
  console.log('Concurrent requests:' + concurrent);
  served = 0;
}, 1000);

Upvotes: 9

Related Questions