缓解 Cloud 运行 对每个实例 Cloud SQL 连接的限制

Mitigating Cloud Run's limitation regarding Cloud SQL connections per instance

我 link 我的云 SQL 实例到云 运行 与 --add-cloudsql-instances 参数。

某些请求在其响应中出现 500 内部服务器错误。查看日志,我能够知道 Cloud 运行 "Exceeded maximum of 100 connections per instance..."。我知道 Cloud 运行 将每个 Cloud 运行 实例可以对 Cloud SQL 进行的连接数限制为 100。

我已经尝试在我的 Cloud 运行 服务中设置较低的并发级别,以此来避免每个实例超过限制,但问题永远不会消失。我可以做些什么来减轻这种行为并使我的应用程序恢复正常稳定性?

PS。我在互联网上的任何地方都找不到关于这个问题的最新答案,所以我决定在这里问一下。

关于我的最后一个 Cloud 运行 修订的详细信息:4 个 vCPU,6GB RAM,--并发性为 32。

通过设置 HTTPS 负载平衡器限制应用程序的负载。

并发数为 32,连接数限制为 100,您遇到了连接问题。您在返回 HTTP 响应之前没有关闭连接(留下未使用的连接),或者您为每个 HTTP 请求打开多个连接并且可能没有关闭它们。

您需要对数据库连接处理进行代码审查。

打开数据库连接是一项开销很大的操作。每个 HTTP 请求打开多个连接会消耗时间和资源。使用连接池重新使用连接以提高性能并防止耗尽打开的连接限制。