首页 文章

最大连接池大小

提问于
浏览
5

在阅读有关数据库连接池属性时,我遇到了以下文本:

maximum pool size 属性指定池维护的最大可用和借用(使用中)连接数 . 如果借用了最大连接数,则在将连接返回到池之前,不会有任何连接可用 . 此属性允许池中的连接数随着需求的增加而增加 . 同时,该属性确保池不会增长到最终影响应用程序性能和可用性的程度 exhausting a system's resources, .

我的问题是:当上面的文字谈到' exhausting system resources '这是否意味着降低数据库的性能?如果回答是肯定的,那么为什么数据库没有最大的连接限制而不会影响性能而不是依靠应用程序指定适当的最大连接限制?数据库中是否有任何内容表明它可以支持多少并发连接(例如Oracle / SQL Server?)

1 回答

  • 6

    通常,关于“耗尽系统资源”的关注适用于应用服务器和数据库服务器 . 您允许的数据库连接越多,在应用程序服务器上运行的并发会话越多,应用程序服务器VM所需的RAM越多,对应用程序服务器和数据库服务器上的CPU的需求就越大,等等 . 积压工作的队列变得太大,你可能会发现自己花费更多的时间在CPU和调度任务上交换进程而不是做有用的工作 . 连接池上的最大大小允许您通过快速错误地处理大量流量或意外性能瓶颈,而不是让用户等待永远不会发生的回复 .

    通常,数据库可以限制它们支持的连接数 . 例如,Oracle具有 PROCESSESSESSIONS 参数,并支持多种连接体系结构(专用服务器和共享服务器),以便您可以权衡性能与资源消耗,从而增加数据库可以支持的并发连接数 .

相关问题