我在 AWS ECS 上有一个 Saas 应用程序,在 AWS RDS 上有一个数据库。我们计划实施 AWS RDS 代理以进行池实施。从 RDS 代理文档中,我看到我们不需要对应用程序代码进行任何更改。目前,我们正在使用应用程序端连接池。当我们实现一个RDS代理进行池化时,当前的池化有什么影响吗?
我们是否需要删除应用程序端池才能有效地使用 RDS?
我主要担心的是,如果我在 RDS 代理和应用程序池配置中选择 100% 池,如果我们将其限制为 100 个最大连接。会不会是瓶颈?
我在 AWS ECS 上有一个 Saas 应用程序,在 AWS RDS 上有一个数据库。我们计划实施 AWS RDS 代理以进行池实施。从 RDS 代理文档中,我看到我们不需要对应用程序代码进行任何更改。目前,我们正在使用应用程序端连接池。当我们实现一个RDS代理进行池化时,当前的池化有什么影响吗?
我们是否需要删除应用程序端池才能有效地使用 RDS?
我主要担心的是,如果我在 RDS 代理和应用程序池配置中选择 100% 池,如果我们将其限制为 100 个最大连接。会不会是瓶颈?
中间有一个数据库代理,“连接”有两个独立的分支:
max_connections
value,并且其他客户端可能会缺乏连接。因此,当您的应用程序想要使用连接时,它需要从其本地池中获取连接。然后,代理需要将其与数据库连接配对。代理将尽可能重用与数据库的连接(这种技术也称为多路复用)。
或者,引用官方文档:“您可以同时打开许多到代理的连接,并且代理会保持较少数量的连接到数据库实例或集群。这样做进一步减少了数据库服务器上连接的内存开销。这技术还减少了“太多连接”错误的机会。”