我開發了一些基於nodejs的API,我想測試API的性能。任何工具都可以輕鬆地計算每個API調用的時間嗎?REST API測量服務器端響應時間(性能)。
或者如何實現測量REST API響應請求所需的時間。
我開發了一些基於nodejs的API,我想測試API的性能。任何工具都可以輕鬆地計算每個API調用的時間嗎?REST 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怎麼辦?您可以輕鬆地使用它來模擬服務器(負載)的負載,然後測量響應時間和其他性能指標。它爲此提供了多個圖形表示。
此Blog Post顯示瞭如何爲Web-API設置基於HTTP的性能測試。我這樣做來測試我的RESTful Web服務。
保持它簡單使用節點中的console.time('timerName');
console.timeEnd('timerName')
功能。 'timerName'顯然是可配置的。
例子:
console.time('getCustomers');
console.timeEnd('getCustomers')
輸出:
getCustomers: 58ms
您是否在尋找一個代碼覆蓋工具?這應該給你大部分你想要的。雖然不知道我的頭頂有一個。 – tjameson
爲什麼不寫你自己的工具?這很簡單 – Rikky
我創建了一個基於nodejs的Web服務,暴露了一些其他的API,一些客戶端正在使用這些API。我想監視每個API調用的時間,有沒有這樣的工具? – ldlchina