2

如果我在具有 1 个 OCPU 的 exadata vm 中有一个Oracle 自治数据库,我应该如何配置我的 jdbc 连接池?我应该指定多少个连接?最高金额是多少?

4

2 回答 2

3

上面提供的链接David Fdez 是正确的。

作为最大性能的经验法则,与 Oracle 数据库的最大连接数应该是服务器拥有的硬件线程数的一小部分。这是所有客户端的总数。请参阅https://www.youtube.com/watch?v=Oo-tBpVewP4

这并不总是实用的。如果有数百个客户端连接到一个小型服务器,即使每个客户端只有一个连接,也会超出该限制。没关系。数据库仍然可以正常工作,但无法达到其所能达到的最大性能;它将花费比理想情况更多的时间进行上下文切换。经验法则仍然有用。它告诉我们每个客户端应该只有一个连接,而不是 20 个。

反对意见是,只有一个连接,客户端请求将不得不等待连接。这是真的,但如果有 20 个连接,客户端将不会等待连接。相反,当服务器在大量数据库进程之间进行上下文切换时,他们将等待更长时间。如果每个客户端有 20 个连接而不是 1 个,系统的整体性能会差很多。

于 2019-04-09T14:49:00.160 回答
1

只需 1 个 OCPU,您就应该能够利用至少 100 个会话(取决于使用适当的服务和并行性等)。另请参阅将数据库驻留连接池与自治数据库一起使用

于 2021-11-20T23:39:40.907 回答