REST API测量服务器端响应时间(性能)。

时间:2013-07-16 13:39:11

标签: javascript performance node.js rest

我开发了一些基于nodejs的rest API,我想测试API的性能。是否有任何工具可以轻松计算每次API调用的时间?

或者如何实现REST API响应请求所需的时间测量。

3 个答案:

答案 0 :(得分:3)

以下是如何使用express.js进行精确时间测量的事件注入示例。

在路线前添加:

app.all('*', function(req, res, next) {
  var start = process.hrtime();

  // event triggers when express is done sending response
  res.on('finish', function() {
    var hrtime = process.hrtime(start);
    var elapsed = parseFloat(hrtime[0] + (hrtime[1] / 1000000).toFixed(3), 10);
    console.log(elapsed + 'ms');
  });

  next();
});

它将保存每个请求的开始时间,并在响应发送给客户端后触发finish 感谢user419127指向'完成'事件

答案 1 :(得分:0)

Apache JMeter这样的绩效衡量工具呢?您可以轻松地使用它来模拟服务器上的(重)负载,然后测量响应时间和其他性能指标。它为此提供了多种图形表示。

Blog Post显示了如何为Web-API设置基于HTTP的性能测试。我这样做是为了测试我的RESTful Web服务。

答案 2 :(得分:0)

简单地使用Node中的console.time('timerName'); console.timeEnd('timerName')功能。 'timerName'显然是可配置的。

示例:

console.time('getCustomers'); console.timeEnd('getCustomers')

输出:

getCustomers: 58ms