7

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

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

4

3 回答 3

5

这是如何使用 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 指向“完成”事件

于 2013-07-16T14:06:08.650 回答
0

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

这篇博文展示了如何为 Web-API 设置基于 HTTP 的性能测试。我这样做是为了测试我的 RESTful web 服务。

于 2013-07-16T22:48:19.547 回答
0

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

例子:

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

输出:

getCustomers: 58ms

于 2015-02-27T16:17:01.387 回答