0

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

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

随着时间的推移(在几次应用程序回收之后),我们看到 CPU 之间的不平衡——有些运行了 8 个 ODBC 进程,有些只有 5 个。这也会导致 CPU 时间不平衡。

到目前为止,我们假设 CPU 以循环方式分配给 ODBC 进程。这将保持 ODBC 进程的数量或多或少均匀分布。但事实并非如此。

是否有任何关于 ODBC 池如何决定为每个新分配的进程选择哪个 CPU 的信息?它是否查看 CPU 负载?有效内存?还有什么?

可悲的是,即使是惠普自己的人(我们可以使用)也无法确定地回答这些问题。:-(

4

1 回答 1

0

事实上,连接以循环方式分配给 CPU。但是如果一个消费者(有自己的池)由于任何原因重新启动,连接将在分配它们的 CPU 上释放(显然),但新的连接将根据循环算法在下一个 CPU 上分配. 因此,一些 CPU 将变得不那么繁忙,而一些则更多。从而失衡。

于 2010-05-22T03:51:01.350 回答