gpt4 book ai didi

python - 为什么要限制 SQLAlchemy 中的数据库连接池大小?

转载 作者:太空狗 更新时间:2023-10-30 00:48:36 24 4
gpt4 key购买 nike

这是 question 的后续行动我之前发布了有关 SQLAlchemy 中的数据库连接池错误的信息。

根据 SQLAlchemy docs sqlalchemy.pool.QueuePool.__init__() 方法采用以下参数:

pool_size – The size of the pool to be maintained, defaults to 5. This is the largest number of connections that will be kept persistently in the pool. Note that the pool begins with no connections; once this number of connections is requested, that number of connections will remain. pool_size can be set to 0 to indicate no size limit; to disable pooling, use a NullPool instead.

设置 pool_size=0 有什么缺点?限制连接池大小有什么好处?只是为了节省内存吗?数据库不应该真正关心是否打开了大量未使用的连接,对吧?

最佳答案

不限制池大小的主要缺点是失控程序可能会创建太多连接。

数据库支持的连接数在数据库级别和 O/S 级别都有实际限制。每个连接还将使用额外的内存。限制池大小有助于保护您的数据库免受程序中的错误或对服务器的恶意攻击。使用过多的连接或过多的内存可能会使您的数据库服务器停止运行。

正常情况下,每个连接使用的额外内存应该不是什么大问题,但最好将它限制为您认为可以并发使用的最大数量(也许加上一些以备不时之需)。

关于python - 为什么要限制 SQLAlchemy 中的数据库连接池大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38534203/

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