gpt4 book ai didi

node.js - 来自 Lambda 的 REST 调用通常非常慢

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:05 25 4
gpt4 key购买 nike

我不确定这里的问题是正确的还是更适合 super 用户。但是,由于我认为我的代码可能做错了,所以我在这里尝试。

我创建了一个小型代理 lambda 函数来调用我的 REST API。我正在使用 node.js 和请求包。这是我的代码:

exports.handler = function (request, context) {
require('request').post({url: 'https://example.com/foo/bar', json:request, timeout:1000}, function(error, response, body){
if(error) {
console.log("Something went wrong:\n" + JSON.stringify(error, null, 2));
context.succeed({failed:true})
} else {
console.log("Returning remote response:\n" + JSON.stringify(body, null, 2));
context.succeed(body);
}
});

console.log("Forwarding request to own backend:\n" + JSON.stringify(request, null, 2));
};

这真的没什么特别的,但我认为请求应该在 1000 毫秒后取消。但我经常看到由于 3000 毫秒的超时而取消了执行。我将它增加到 30000ms,它开始工作了。有时 lambda 在 500 毫秒内执行,但下一次需要 3100 毫秒。我不明白为什么会这样。请赐教。

最佳答案

这可能来自称为冷启动的正常行为

When using AWS Lambda, provisioning of your function's container can take >5 seconds. That makes it impossible to guarantee <1 second responses to events such as API Gateway, DynamoDB, CloudWatch, S3, etc.

这里有一个很好的articleserverless 了解它是什么,以及如何处理它。

关于node.js - 来自 Lambda 的 REST 调用通常非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53352750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com