我开发了一些基于 nodejs 的其余 API,我想测试 API 的性能。是否有任何工具可以轻松计算每个 API 调用的时间?
或者如何测量 REST API 响应请求所需的时间。
我开发了一些基于 nodejs 的其余 API,我想测试 API 的性能。是否有任何工具可以轻松计算每个 API 调用的时间?
或者如何测量 REST API 响应请求所需的时间。
这是如何使用 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 指向“完成”事件
像Apache JMeter这样的性能测量工具呢?您可以轻松地使用它来模拟服务器上的(重)负载,然后测量响应时间和其他性能指标。它为此提供了多种图形表示。
这篇博文展示了如何为 Web-API 设置基于 HTTP 的性能测试。我这样做是为了测试我的 RESTful web 服务。
使用 Node.js 中的功能保持简单console.time('timerName');
console.timeEnd('timerName')
。'timerName' 显然是可配置的。
例子:
console.time('getCustomers');
console.timeEnd('getCustomers')
输出:
getCustomers: 58ms