You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pg Pool与RDS Proxy的AWS Lambda遇连接意外终止问题排查

问题解答

1. 错误是否因Lambda未归还连接至连接池导致?

是。Lambda中未调用release()归还连接会引发两个关键问题:

  • 连接池资源耗尽:pg Pool的连接数是有限的,未释放的连接会一直占用池内名额,后续请求无法获取新连接,甚至触发连接超时或强制回收,导致「Connection terminated unexpectedly」。
  • 失效连接残留:Lambda容器可能被复用,未释放的连接会留在池中,这些连接可能因RDS Proxy超时、数据库端断开等原因已经失效,下次复用容器时使用该连接就会触发错误。

2. 错误是否由RDS Proxy超时/断开连接引发?

是,且是两者共同触发的核心原因之一:

  • 你的RDS Proxy配置了10分钟超时,闲置连接会被Proxy主动断开。对于NestJS来说,即使正确释放了连接,若连接回到Proxy池后闲置超过10分钟,下次获取该连接时,它已经被Proxy断开,应用层使用时就会出现连接终止错误。
  • 对于Lambda,未释放的连接会一直占用Proxy的连接资源,直到Proxy超时断开,此时Lambda持有的连接对象已经失效,后续操作该连接就会触发错误。

3. Lambda和NestJS的问题是否会互相影响?

会,两者共享RDS Proxy的连接池资源,存在直接的相互影响:

  • 连接资源抢占:Lambda未释放的连接会持续占用Proxy连接池的名额,导致NestJS可获取的连接数减少,甚至出现连接池耗尽的情况,间接引发NestJS的连接错误。
  • Proxy超时的连锁反应:Proxy的超时断开是全局的,Lambda的连接泄漏会增加闲置连接的数量,Proxy需要频繁断开这些无效连接,导致NestJS获取到已断开连接的概率升高,加剧错误出现的频率。

内容的提问来源于stack exchange,提问作者krishnadev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:12:07