gpt4 book ai didi

mysql - 连接池到底是如何工作的?

转载 作者:行者123 更新时间:2023-11-29 11:20:48 30 4
gpt4 key购买 nike

我正在使用 MySqlConnector for .Net。默认情况下,池化处于打开状态。现在,正如其他相关人员在网络上所说的那样,这意味着我获得了许多 sleep 连接。我的问题是这样的:

假设我的服务器可以处理 300 个连接(大约是 AWS RDS 上 4GB RAM RDS MySql 服务器所允许的数量),假设我有 300 个处于休眠状态的连接。当应用程序请求连接 301 时,将:

a) 池使用现有的 sleep 300 个连接之一
b) 抛出最大连接错误并拒绝连接

据我了解,A 应该是答案,因为池将分发非事件( sleep )连接。如果您有 300 个并发事件连接(例如,正在运行查询),B 应该会发生什么,对吗?

我只是想弄清楚这个问题的真相,因为 max_connections = 300 让我感到害怕,因为它看起来太低了。

谢谢,鲍勃

最佳答案

只要连接池中有空闲连接,并且 MySQL 服务器中也有可用连接(您的应用程序连接池之外可能有连接),您的应用程序就不应该出现任何连接过多错误。

300个并发连接是否足以满足您的目的可以通过压力测试来确定,在压力测试中您可以模拟高峰期预期的当前用户数量。通过优化数据库连接代码(需要时打开连接,不需要时关闭连接)300个并发数据库连接可以轻松支持更多并发用户。

关于mysql - 连接池到底是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38955806/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com