首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Lambda Boto3 DynamoDB并发

AWS Lambda Boto3 DynamoDB并发
EN

Stack Overflow用户
提问于 2021-06-16 12:16:32
回答 1查看 450关注 0票数 0

我试图使用concurrent.futures异步地从AWS DynamoDB检索项,以缩短函数时间。

代码语言:javascript
复制
def retrieve_dynamo_item(dynamo_tablename, key):
    dynamodb = boto3.resource('dynamodb')
    dynamo_table = dynamodb.Table(dynamo_tablename)
    dynamo_result = dynamo_table.get_item(Key=key)
    return dynamo_result.get('Item')

def lambda_handler(event, context):

    dynamo_queries = ## code
    with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
        futures = [executor.submit(retrieve_dynamo_item, dynamo_table, key) for dynamo_table, key in dynamo_queries]

    final_result = []
    for f in concurrent.futures.as_completed(futures):
        if f.result():
            final_result += f.result().get('result')

然而,在部署和测试lambda函数时,性能似乎没有得到改善,但实际上比同步运行查询更糟糕。对原因有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-16 12:23:12

并行执行很可能受到该函数可用的计算能力的影响。使用默认内存分配,您没有太多的CPU。有关更多详细信息,请参见此answer

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

https://stackoverflow.com/questions/68002486

复制
相关文章

相似问题

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