Oracle中的连接池大小概念

3

初始连接池大小和最小连接池大小

连接池中最小连接数的值。此值还确定了在创建池时或应用程序服务器启动时放置在池中的连接数。

最大连接池大小

连接池中最大连接数的值。

根据上述两个定义,如果最小池大小为1,最大池大小为100,则:

  1. 当池被创建时或应用程序服务器启动时,只会新创建一个连接。
  2. 一天中会有很多并发请求,需要更多的连接,这些连接将在一天中创建,最多可达到100。但是,在创建这些连接时,它们不会从池中删除,直到应用程序服务器关闭或我们删除整个池?

我对这两个观点正确吗?


1
你正在使用哪个连接池库? - Mark Rotteveel
2个回答

5

池大小将保持在您描述的限制之间。一般来说:

  • 概念#1是正确的。

  • 概念#2取决于JDBC连接池。通常,连接池能够根据一天中观察到的使用情况而增长和缩小。重负载会使其增长,而空闲则会使其缩小。

无论如何,每个JDBC连接池的行为都略有不同,因此您应该检查要使用的特定连接池。


-1

1 是正确的,但 2 的假设只有在您不关闭连接并且不为连接设置最大生存时间时才是正确的

通常情况下,您会关闭连接,然后将其返回/释放到连接池中。

此外,100 最大池大小是不必要的。虽然您没有指定使用哪个连接池,但您可以在hikari pool size中了解更多关于池设置的信息。


为什么在涉及 Oracle Pool(可能是 Oracle UCP)的问题上,您要链接到 Hikari 文档? - Mark Rotteveel
@MarkRotteveel 虽然 OP 没有具体说明,但我提供了更多关于连接池主题的阅读材料。 - user7294900
但是每个连接池的细节都有所不同,因此这并不能完全回答这个问题。 - Mark Rotteveel
@MarkRotteveel 还包括了 Oracle 实际性能团队的 "短视频"。 - user7294900

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接