NonStop ODBC: как соединения (серверы ODBC) назначаются процессорам? - PullRequest
0 голосов
/ 18 мая 2010

У нас есть пул ODBC, работающий на сервере NonStop. Пул подключен к SQL / MX.

Этот пул используется несколькими внешними Java-приложениями, каждое из которых имеет пул JDBC, подключенный к пулу ODBC (например, 14 подключений на приложение).

Со временем (после нескольких перезапусков приложений) мы видим дисбаланс между процессорами - у некоторых запущено 8 процессов ODBC, у некоторых только 5. Это также приводит к дисбалансу времени процессора.

До этого момента мы предполагали, что ЦП назначен процессу ODBC циклическим образом. Это позволит поддерживать количество процессов ODBC более или менее равномерно распределенных. Это не тот случай.

Есть ли какая-либо информация о том, как ODBC-пул решил, какой процессор выбрать для каждого нового выделенного процесса? Это смотрит на загрузку процессора? Доступная память? Что-то еще?

К сожалению, даже собственные сотрудники HP (то есть доступные нам) не могли с уверенностью ответить на эти вопросы. : - (

1 Ответ

0 голосов
/ 22 мая 2010

И на самом деле соединения назначаются процессорам циклически. Но если по какой-либо причине один из потребителей (со своим собственным пулом) будет перезапущен, соединения будут освобождены на процессорах, где они были распределены (очевидно), но новые будут распределены на следующем процессоре в соответствии с алгоритмом циклического перебора , Таким образом, некоторые процессоры станут менее загруженными, а некоторые - более. Таким образом, дисбаланс.

...