AWS Lambda,计费时间长于处理时间

时间:2018-07-16 16:25:00

标签: javascript node.js amazon-web-services aws-lambda latency

在我的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);
}

1 个答案:

答案 0 :(得分:2)

所有在评论中归功于Mark B。

解决方案是添加以下行:

context.callbackWaitsForEmptyEventLoop = false;

原因是默认情况下,对于Node.js部署,AWS Lambda将在返回之前等待事件循环为空。因此,如果您可以设置上面的行以防止这种情况发生。