【发布时间】:2018-12-24 06:20:46
【问题描述】:
在我的 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);
}
【问题讨论】:
-
callback()是做什么的?你在 记录时间 之后调用它 -
在 NodeJS 中,当您调用 Lambda 回调函数时,您只是告诉 Lambda 服务,一旦 NodeJS 事件循环为空,它就可以关闭调用。如果您希望 Lambda 函数立即退出,您需要在调用回调之前进行以下设置:
context.callbackWaitsForEmtpyEventLoop = false; -
谢谢!这已经困扰我好几天了。
标签: javascript node.js amazon-web-services aws-lambda latency