我们在不间断的服务器上运行一个ODBC池。池连接到SQL/MX。

该池由一些外部Java应用程序使用,每个应用程序都有一个连接到ODBC池的JDBC池(例如,每个应用程序14个连接)。

随着时间的流逝,我们看到CPU之间存在不平衡 - 有些ODBC流程正在运行,其中一些仅5。这也导致CPU时间不平衡。

到目前为止,我们假设CPU以圆形旋转方式分配给ODBC流程。这将使ODBC过程的数量或多或少地平均分布。事实并非如此。

是否有有关ODBC池如何决定为每个新分配过程选择哪个CPU的信息?它看一下CPU负载吗?有效内存?还有其他吗?

可悲的是,即使是惠普(HP)的人(也就是说)也无法确定地回答这些问题。 :-(

有帮助吗?

解决方案

实际上,连接以圆形旋转方式分配给CPU。但是,如果出于任何原因重新启动了其中一位消费者(带有自己的池),则将在分配的CPU上发布连接(显然),但是根据圆形算法,将在下一个CPU上分配新的连接。 。因此,有些CPU会变得不那么忙碌,还有更多。因此不平衡。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top