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 个套接字。
我阅读了有关 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 个套接字。