在我的Lambda函数(Node.js)中,我测量了从函数开始到函数结束的时间,大约是1400毫秒。但是,lambda的计费持续时间是2800毫秒。
这正常吗?如此高的差异(基本上是两倍)可能是什么原因?
这是我用来衡量的代码
exports.handler = function(event, context, callback) {
let time = new Date();
... some logic runs ...
console.log(`{new Date().getTime() - time.getTime()}`);
callback(null, response);
}
答案 0 :(得分:2)
所有在评论中归功于Mark B。
解决方案是添加以下行:
context.callbackWaitsForEmptyEventLoop = false;
原因是默认情况下,对于Node.js部署,AWS Lambda将在返回之前等待事件循环为空。因此,如果您可以设置上面的行以防止这种情况发生。