AWS Lambda,计费时间比处理时间长
AWS Lambda, billed time longer than processing time
在我的 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);
}
评论中的所有功劳均归功于 Mark B。
解决方案是添加行:
context.callbackWaitsForEmptyEventLoop = false;
原因是 AWS Lambda 默认情况下,对于 Node.js 部署,将在返回之前等待事件循环为空。因此,如果您可以设置上面的行来防止这种情况发生。
在我的 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);
}
评论中的所有功劳均归功于 Mark B。
解决方案是添加行:
context.callbackWaitsForEmptyEventLoop = false;
原因是 AWS Lambda 默认情况下,对于 Node.js 部署,将在返回之前等待事件循环为空。因此,如果您可以设置上面的行来防止这种情况发生。