Oracle NUM_CPUS、NUM_CPU_SOCKETS 和连接池

Oracle NUM_CPUS, NUM_CPU_SOCKETS and Connection Pooling

我阅读了有关 Oracle 连接池大小的信息。官方文档说:

For example, suppose a server has 2 CPUs and each CPU has 18 cores. Each CPU core has 2 threads. Based on the Oracle Real-Wold Performance group guidelines, the application can have between 36 and 360 connections to the database instance.

我的 Oracle 服务器的 NUM_CPUS 是 16,NUM_CPU_CORES 是 8,但 NUM_CPU_SOCKETS 是 2。这意味着我们实际上有 2 CPU,但在多线程下它的工作方式就像16 CPU.

我不确定在连接公式中使用哪一个。可能是 16 岁,但我在这里问是为了确定。

16cpu * 8cores = 最少 128 个连接?

2cpu * 8cores = 最少 16 个连接?

哪一个适用于我。 :/

提前致谢。

你应该使用 2 cpu * 8 cores = 16 minimum connections.

documentation 中的这句话暗示该规则适用于物理 CPU 和内核:“连接数应基于 CPU 内核的数量和不是 CPU 核心线程的数量。”您的 NUM_CPUS 值 16 必须是“合乎逻辑的”CPU,因为系统只有 2 个套接字。