Frage

Wir haben einen ODBC-Pool auf einem NonStop-Server ausgeführt wird. Der Pool ist mit SQL / MX.

Dieser Pool von einigen externen Java-Anwendungen verwendet, von denen jede einen JDBC-Pool zu ODBC-Pool verbunden ist (zum Beispiel 14 Verbindungen pro Anwendung).

Mit der Zeit (nach einiger Anwendung recycles) wir ein Ungleichgewicht zwischen CPUs sehen - einige haben 8 ODBC Prozesse laufen auch einige nur 5. Das führt zu CPU-Zeit Ungleichgewicht

.

Bis zu diesem Punkt haben wir angenommen, dass eine CPU auf ODBC-Prozess in Mode Round-Robin zugeordnet ist. Das würde hält die Anzahl der ODBC mehr oder weniger gleichmäßig verteilt verarbeitet. Es ist nicht der Fall, aber.

Gibt es Informationen darüber, wie ODBC-Pool entschieden, welche CPU für jeden neuen Prozess zugewiesen zu wählen? Ist es bei CPU-Auslastung aus? Verfügbare Erinnerung? Etwas anderes?

Leider auch HP die eigene Volk (zur Verfügung zu uns, das ist) konnte diese Fragen nicht mit Sicherheit beantworten. : - (

War es hilfreich?

Lösung

Und in der Tat Verbindungen werden in Round-Robin-CPUs zugewiesen. Aber wenn man der Verbraucher (mit eigenem Pool) aus irgendeinem Grund neu gestartet wird, werden die Anschlüsse auf der CPUs freigegeben werden, wo sie zugeteilt wurden (natürlich), aber neue werden auf der nächsten CPU zugeordnet werden nach Round-Robin-Algorithmus . So werden sich einige CPUs weniger beschäftigt, und einige mehr. So Ungleichgewicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top