Verwenden Sie diese Seite, um die Einstellungen für Verbindungspools zu konfigurieren.
Klicken Sie beispielsweise auf Ressourcen > JDBC > JDBC-Provider > JDBC-Provider > Datenquellen > Datenquelle > Eigenschaften des Verbindungspools.
Der Pfad für die JMS-Warteschlangenverbindungs-Factorys ist wie folgt: Ressourcen > JMS > Warteschlangenverbindungs-Factorys > JMS-Warteschlangenverbindungs-Factory > [Weitere Eigenschaften] Eigenschaften des Verbindungspools.
Das Intervall in Sekunden, nach dem das Zeitlimit für eine Verbindungsanforderung überschritten ist und eine ConnectionWaitTimeoutException ausgelöst wird.
Dieser Wert gibt an, wie lange (in Sekunden) eine Verbindungsanforderung wartet, wenn keine Verbindungen im Pool verfügbar sind und keine neuen Verbindungen erstellt werden können. weil der Wert für die maximale Anzahl der Verbindungen in einem bestimmten Verbindungspool erreicht ist.
Wenn das Verbindungszeitlimit beispielsweise auf 300 eingestellt ist und die maximale Anzahl der Verbindungen in Gebrauch ist, wartet der Poolmanager 300 Sekunden auf eine physische Verbindung. Sollte innerhalb dieser Zeit keine physische Verbindung verfügbar werden, löst der Poolmanager eine Ausnahme vom Typ ConnectionWaitTimeout aus. In den meisten Fällen ist davon abzuraten, die Methode "getConnection()" zu wiederholen. Falls eine längere Wartezeit erforderlich ist, sollten Sie den Wert für das Verbindungszeitlimit erhöhen. Wenn die Anwendung eine Ausnahme vom Typ ConnectionWaitTimeout abfängt, überprüfen Sie die erwartete Auslastung des Verbindungspools der Anwendung, und optimieren Sie den Verbindungspool und die Datenbank entsprechend.
Wenn das Verbindungszeitlimit auf 0 eingestellt ist, wartet der Poolmanager so lange, bis eine Verbindung verfügbar wird. Dies geschieht, wenn die Anwendung eine Transaktion abschließt und die Verbindung an den Pool zurückgibt oder wenn die Anzahl der Verbindungen unter den Wert von "Maximale Anzahl der Verbindungen" fällt, woraufhin eine neue physische Verbindung erstellt werden kann.
Wenn "Maximale Anzahl der Verbindungen" auf 0 eingestellt ist (die Anzahl der physischen Verbindungen ist nicht eingeschränkt), wird der Wert für das Verbindungszeitlimit ignoriert.
Datentyp | Integer |
Einheiten | Sekunden |
Standardeinstellung | 180 |
Einstellmöglichkeiten | 0 bis Maximalwert für int |
Die maximale Anzahl der physischen Verbindungen, die in diesem Pool erstellt werden können.
Diese Verbindungen stellen die physischen Verbindungen zur Back-End-Ressource dar. Wenn dieser Wert erreicht ist, werden keine neuen physischen Verbindungen mehr erstellt, und der Requester wartet, bis eine physische Verbindung, die gegenwärtig verwendet wird, in den Pool zurückgegeben oder die ConnectionWaitTimeoutException ausgelöst wird. Wenn z. B. die Maximalanzahl der Verbindungen auf 5 gesetzt wird und fünf physische Verbindungen verwendet werden, wartet der Poolmanager darauf, dass eine physische Verbindung frei wird. Die Wartezeit wird vom Zeitlimit für Verbindungen angegeben.
Wenn Sie die Anzahl der Verbindungspools kennen, die potenziell Verbindungen vom Back-End (z. B. von einer DB2-Datenbank oder einem CICS-Server) anfordern, können Sie einen Wert für die Eigenschaft "Maximale Anzahl der Verbindungen" festlegen.
Wenn Sie mehrere eigenständige Anwendungsserver haben, die dieselbe Datenquellenkonfiguration oder
J2C-Verbindungs-Factory-Konfiguration verwenden, ist für jeden Server ein eigener
physischer Verbindungspool vorhanden. Wenn Sie diese Anwendungsserver klonen, implementiert
WebSphere Application Server für jeden Klon einen eigenen Verbindungspool.
Überlegen Sie, wie viele Servants zur Laufzeit auf dieselbe Ressource zugreifen. Dieser Wert
ist der Multiplikator für Ihre Einstellung "Maximale Anzahl der Verbindungen".
Wenn Servants dieselbe JDBC-Datenquellenkonfiguration oder J2C-Verbindungs-Factory-Konfiguration aufrufen, implementiert
WebSphere Application Server einen entsprechenden physischen Verbindungspool für jeden Servant.
Deshalb ist in jedem Servant derselbe Verbindungspool, wenn auch unabhängig von den anderen, vorhanden.
Die Einstellung "Maximale Anzahl der Verbindungen" gilt für jeden dieser Pools.
Alle diese Verbindungspools gehören zu derselben
Datenquellen- bzw. Verbindungs-Factory-Konfiguration.
Deshalb können alle diese Verbindungspools potenziell gleichzeitig Verbindungen von derselben Back-End-Ressource anfordern.
Der Wert für "Maximale Anzahl der Verbindungen", den Sie auf dieser Konsolseite definieren,
gilt für jeden dieser Verbindungspools.
Wenn Sie einen hohen Wert für "Maximale Anzahl der Verbindungen" festlegen, kann dies zu einer
Unmenge von Verbindungsanforderungen führen, die von Ihrer Back-End-Ressource nicht zu bewältigen ist.
Potenziell können alle Anwendungen, die die Datenquelle oder Verbindungs-Factory
in diesen Servants benötigen, gleichzeitig versuchen, die Ressource zu verwenden.
Deshalb fordern die zugehörigen Verbindungspools gleichzeitig Verbindungen von demselben Back-End an.
Legen Sie für "Maximale Anzahl der Verbindungen" keinen Wert Fest, der dazu führt, dass die Last der Verbindungsanforderungen Ihre Datenbank
oder ein anderes Enterprise Information System (EIS) überfordert.
Datentyp | Integer |
Standardeinstellung | 10 |
Einstellmöglichkeiten | 0 bis Maximalwert für int Wenn die Maximalanzahl der Verbindungen auf 0 eingestellt ist, wird das Zeitlimit für Verbindungen ignoriert. |
Mit dem Tivoli Performance Viewer können Sie die optimale Anzahl für die Verbindungen in einem Pool ermitteln. Falls die Anzahl gleichzeitiger Waiter größer als 0 ist, die CPU-Auslastung aber noch nicht 100 % erreicht hat, können Sie den Verbindungspool vergrößern. Ist der Wert für "Percent Used" bei normaler Arbeitslast dauerhaft niedrig, sollten Sie eine Reduzierung der Verbindungen im Pool in Erwägung ziehen.
Die Mindestanzahl der physischen Verbindungen, die verwaltet werden sollen.
Wenn die Größe des Verbindungspools kleiner-gleich der konfigurierten Mindestgröße für den Verbindungspool ist, verwirft der Thread "Zeitlimit für nicht verwendete Verbindungen" keine physischen Verbindungen. Allerdings erstellt der Pool keine Verbindungen, nur um sicherzustellen, dass die Mindestgröße des Verbindungspool erreicht ist. Wenn Sie einen Wert für "Zeitlimit für veraltete Verbindungen" festlegen, werden veraltete Verbindungen unabhängig von der konfigurierten Einstellung für die Mindestpoolgröße verworfen.
Wenn Mindestanzahl der Verbindungen beispielsweise auf 3 eingestellt ist und eine physische Verbindung erstellt wird, wird diese Verbindung nicht durch den Thread für das Zeitlimit für nicht verwendete Verbindungen verworfen. Der Thread erstellt nicht automatisch zwei zusätzliche physische Verbindungen über dasselbe Token, um den Wert für die Mindestanzahl der Verbindungen zu erreichen.
Datentyp | Integer |
Standardeinstellung | 1 |
Einstellmöglichkeiten | 0 bis Maximalwert für int |
Gibt das Intervall (in Sekunden) für die Ausführung des Threads für die Poolverwaltung an.
Wenn das Bereinigungsintervall z. B. auf 60 eingestellt ist, wird der Thread für Poolverwaltung alle 60 Sekunden ausgeführt. Das Bereinigungsintervall beeinflusst die Genauigkeit der Einstellungen "Zeitlimit für nicht verwendete Verbindungen" und "Zeitlimit für veraltete Verbindungen". Je kleiner das Intervall, desto höher die Genauigkeit. Wenn der Thread für Poolverwaltung aktiviert ist, muss der Wert für die Bereinigungszeit kleiner sein als die Werte für das Zeitlimit für nicht verwendete Verbindungen und das Zeitlimit für veraltete Verbindungen. Wenn der Thread für Poolverwaltung ausgeführt wird, werden alle Verbindungen, die länger als durch das Zeitlimit für nicht verwendete Verbindungen angegeben nicht verwendet wurden, gelöscht, bis der Wert für die "Mindestanzahl der Verbindungen" erreicht ist. Der Thread für Poolverwaltung löscht auch alle Verbindungen, die länger als durch den Wert für das Zeitlimit für veraltete Verbindungen angegeben aktiv waren.
Das Bereinigungsintervall wirkt sich auf die Leistung aus. Kleine Intervalle bedeuten, dass der Thread für Poolverwaltung häufiger ausgeführt wird und die Leistung verringert.
Möchten Sie den Thread für Poolverwaltung inaktivieren, müssen Sie das Bereinigungsintervall auf 0 einstellen bzw. sowohl das Zeitlimit für nicht verwendete Verbindungen als auch das Zeitlimit für veraltete Verbindungen auf 0 einstellen. Die empfohlene Methode zum Inaktivieren des Thread für Poolverwaltung besteht darin, das Bereinigungsintervall auf den Wert 0 einzustellen. In diesem Fall werden das Zeitlimit für nicht verwendete Verbindungen und das Zeitlimit für veraltete Verbindungen ignoriert. Wenn das Zeitlimit für nicht verwendete Verbindungen und das Zeitlimit für veraltete Verbindungen auf 0 eingestellt werden, wird der Thread für Poolverwaltung ausgeführt, es werden jedoch nur die physischen Verbindungen gelöscht, deren Zeitlimitüberschreitung auf der Grundlage von Zeitlimitwerten ungleich null erfolgt.
Datentyp | Integer |
Einheiten | Sekunden |
Standardeinstellung | 180 |
Einstellmöglichkeiten | 0 bis Maximalwert für int |
Intervall in Sekunden, nach dem eine nicht verwendete oder inaktive Verbindung gelöscht wird.
Wenn Sie eine optimale Leistung erzielen möchten, stellen Sie das Zeitlimit für nicht verwendete Verbindungen höher ein als das Zeitlimit für die Bereinigung. Außerdem werden nicht verwendete physische Verbindungen nur verworfen, wenn die aktuelle Anzahl der nicht verwendeten Verbindungen die Mindestanzahl der Verbindungen übersteigt. Wenn z. B. das Zeitlimit für nicht verwendete Verbindungen auf 120 eingestellt ist und der Thread für Poolverwaltung aktiviert wurde (Bereinigungsintervall ungleich 0), werden alle physischen Verbindungen, die zwei Minuten nicht verwendet wurden, gelöscht.
Die Genauigkeit und Leistung dieses Zeitlimits wird durch den Wert für die Bereinigungszeit beeinflusst. Nähere Informationen enthält der Artikel Bereinigungsintervall.
Datentyp | Integer |
Einheiten | Sekunden |
Standardeinstellung | 1800 |
Einstellmöglichkeiten | 0 bis Maximalwert für int |
Intervall in Sekunden, nach dessen Ablauf eine physische Verbindung gelöscht wird.
Wird "Zeitlimit für veraltete Verbindungen" auf 0 eingestellt, können aktive physische Verbindungen unbegrenzt im Pool bleiben. Wenn Sie eine optimale Leistung erzielen möchten, stellen Sie das Zeitlimit für veraltete Verbindungen höher ein als das Zeitlimit für die Bereinigung.
Wenn das Zeitlimit für veraltete Verbindungen z. B. auf 1200 eingestellt und das Bereinigungsintervall nicht 0 ist, werden alle physischen Verbindungen, die 1200 Sekunden (20 Minuten) verwendet wurden, aus dem Pool gelöscht. Dies gilt jedoch nicht, wenn die Verbindung an einer Transaktion beteiligt ist. In diesem Fall löscht der Anwendungsserver die Verbindung nicht, wenn das Zeitlimit für veraltete Verbindung erreicht ist, sondern erst, nachdem die Transaktion abgeschlossen und die Verbindung geschlossen wurde.
Die Genauigkeit und Leistung dieses Zeitlimits wird durch den Wert für die Bereinigungszeit beeinflusst. Nähere Informationen enthält der Artikel Bereinigungsintervall.
Datentyp | Integer |
Einheiten | Sekunden |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis Maximalwert für int |
Gibt an, wie Verbindungen gelöscht werden sollen, wenn eine veraltete Verbindung oder ein schwer wiegender Verbindungsfehler ermittelt wird.
Die gültigen Werte sind EntirePool und FailingConnectionOnly.
Datentyp | String |
Standardeinstellungen |
|
Einstellmöglichkeiten |
|
Mit (online) gekennzeichnete Links setzen einen Internet-Zugang voraus.