首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发调用lambda到lambda 22次,花费的时间太长

并发调用lambda到lambda 22次,花费的时间太长
EN

Stack Overflow用户
提问于 2018-09-07 19:47:52
回答 1查看 396关注 0票数 4

我从lambda_A调用lambda_B 22次(异步),单个lambda_B调用在3秒内完成执行,因此当我异步调用22λ时,应该需要大约3秒的时间。但是需要16-20秒的时间

下面是我使用的示例代码

代码语言:javascript
复制
async callingLambda(arrayvalue) {
  try {
    const lambdaResponse = await BPromise.all(
      arrayvalue.map((leg) => {
        return new BPromise((resolve, reject) => {
          const FunctionName = 'Lambda_B';
          lambda.invoke({
            FunctionName: FunctionName,
            InvocationType: 'RequestResponse',
            LogType: 'Tail',
            Payload: JSON.stringify(reqParmaters)
          }, function(error, data) {
            if (error) {
              reject(error);
            } else {
              resolve(body.errors.length ? null : body.data);
            }
          });
        });
      })
    );
    return lambdaResponse;
  } catch (error) {
    return BPromise.reject(error);
  }
}

我做了一些观察,也就是说,如果我将调用次数减少到4-6,那么大约需要3秒,但当我增加调用次数时,时间也会增加。

根据我的研究,这个问题可能是由于no。nodejs并行处理的I/O操作数等于UV_THREADPOOL_SIZEUV_THREADPOOL_SIZE的默认值为4。

我也增加了UV_THREADPOOL_SIZE的大小,但它不工作。

EN

回答 1

Stack Overflow用户

发布于 2018-09-14 09:08:33

在调用过程的参数中有一个问题。参考AWS:您必须设置异步调用的Lambda文档

代码语言:javascript
复制
InvocationType: 'Event'

而不是:

代码语言:javascript
复制
InvocationType: 'RequestResponse'

看一看https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52221930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档