【问题标题】:How to use single pymongo connection pool for all aws lambda requests如何为所有 aws lambda 请求使用单个 pymongo 连接池
【发布时间】:2021-08-27 01:29:36
【问题描述】:

我正在使用 aws lambda 函数和 API 网关以及 python 来处理 HTTP 请求。

我应该在每次请求后关闭 pymongo 连接还是有办法使用公共连接池?

如果我们为每个 5 个连接的 http 请求使用连接池,则 lambda 上的数千个请求将打开 5*1000=5000 个 mongodb 连接。

【问题讨论】:

    标签: python mongodb aws-lambda aws-api-gateway pymongo


    【解决方案1】:

    据我所知,不可能在函数调用之间传输状态,但您可以在 event_handler 函数之前初始化数据库连接,它将被重用于此特定函数实例的下一次热启动。如果所有请求同时启动,您可以限制同时的最大实例数,以强制重用已启动的函数。

    这是一个link,它描述了一些最佳实践:

    利用执行环境重用来提高性能 你的功能。在外部初始化 SDK 客户端和数据库连接 函数处理程序,并在 /tmp 中本地缓存静态资产 目录。由同一实例处理的后续调用 您的函数可以重用这些资源。这通过降低成本来节省成本 函数运行时间。

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 1970-01-01
      • 2012-07-08
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多