NonStop ODBC: comment les connexions (serveurs ODBC) sont affectés aux CPU?
-
30-09-2019 - |
Question
Nous avons une piscine ODBC fonctionnant sur un serveur NonStop. La piscine est connecté à SQL / MX.
Ce pool est utilisé par quelques applications Java externes, dont chacune possède une piscine JDBC connectée à la piscine ODBC (par exemple des 14 connexions par application).
Avec le temps (après quelques recyclages d'application), nous voyons un déséquilibre entre les CPU - certains ont 8 processus ODBC en cours d'exécution, certains seulement 5. Cela conduit à un déséquilibre de temps CPU trop
.Jusqu'à ce point, nous avons supposé qu'un CPU est affecté à la mode processus ODBC dans la ronde. Cela maintiendrait le nombre de processus ODBC plus ou moins également répartie. Ce n'est pas le cas cependant.
Y at-il des informations sur la façon dont ODBC piscine a décidé que CPU à choisir pour chaque nouveau processus alloué? Est-ce qu'il regarde la charge CPU? Mémoire disponible? Quelque chose d'autre?
Malheureusement, même peuple de HP (disponible pour nous, qui est) ne pouvait pas répondre à ces questions avec certitude. : - (
La solution
Et dans les connexions fait sont affectées aux unités centrales à la mode ronde. Mais si l'un des consommateurs (avec sa propre piscine) est relancé pour une raison quelconque, les connexions seront publiées sur les CPU où ils ont été attribués (évidemment), mais de nouveaux seront alloués sur la prochaine CPU selon l'algorithme round-robin . Ainsi, certains processeurs deviendra moins occupé, et un peu plus. Ainsi, le déséquilibre.