我在测试我的 Lambda 函数时遇到了一些问题。我的测试,我并行N执行我的 Lambda 函数。在我的 lambda 函数中,我通过 Knex 检索数据库连接。我正在搞乱 db init 中的设置pool: { min: 0, max: [1 or 5] },这似乎修复/破坏了一些东西,这取决于我代码中的其他东西。
执行我的 lambda 函数 20 次会输出正确的结果,但是,当我达到 500 次时(我期望在生产中看到的很容易超过这个),事情开始破裂。我遇到了诸如Error: ER_CON_COUNT_ERROR: Too many connections, 之类的错误Error: pool is draining and cannot accept work(如果我knex.destroy()在 lambda 函数的末尾使用 Knex 的接口)。在 AWS Lambda 和 RDS 中处理连接和池以实现规模化的正确方法是什么?如果我在 AWS 上运行相同的压力测试,我在本地机器上看到的问题是否会重现?