2010-05-18 3 views
0

У нас есть пул ODBC, работающий на сервере NonStop. Пул подключен к SQL/MX.NonStop ODBC: как соединения (серверы ODBC) назначаются процессорам?

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

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

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

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

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

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^