我开发了一些基于nodejs的rest API,我想测试API的性能。是否有任何工具可以轻松计算每次API调用的时间?
或者如何实现REST API响应请求所需的时间测量。
答案 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