Einstellungen für Sitzungspool

Auf dieser Seite können Sie die Einstellungen für den Verbindungspool konfigurieren.

Diese Seite der Administrationskonsole ist vielen Ressourcentypen gemeinsam, beispielsweise den JMS-Verbindungs-Factorys für Warteschlangen. Wie Sie diese Seite aufrufen, ist abhängig von dem Typ der Ressource. Im allgemeinen werden Sie jedoch eine Instanz des Ressourcenproviders auswählen, dann eine Instanz des Ressourcentyps und anschließend auf Sitzungspool klicken. Beispiel: Klicken Sie auf Ressourcen > WebSphere-JMS-Provider > Verbindungs-Factorys für WebSphere-Warteschlangen > Verbindungs-Factory > Sitzungspool.

Register "Konfiguration"

Bereich
Gibt die Ebene an, bis zu der diese Ressourcendefinition sichtbar ist - Zelle, Knoten oder Server.

Ressourcen, wie z. B. JDBC-Provider, Namespace-Bindungen oder gemeinsam benutzte Bibliotheken können in mehreren Bereichen definiert werden. Dabei überschreiben Ressourcen, die in spezifischeren Bereichen definiert wurden, Ressourcen, die in allgemeineren Bereichen definiert wurden.

Die Merkmale einer Ressource gelten nur für eine bestimmte Serverebene, unabhängig vom Geltungsbereich einer definierten Ressource. Wenn Sie beispielsweise den Geltungsbereich einer Datenquelle auf Zellenebene definieren, können alle Benutzer in dieser Zelle diese Datenquelle durchsuchen und verwenden. Die Einstellungen von Ressourcenmerkmalen gelten jedoch lokal für jeden Server in der Zelle. Wenn Sie beispielsweise die maximale Anzahl von Verbindungen auf 10 setzen, kann jeder Server in dieser Zelle 10 Verbindungen haben.

Zelle
Der allgemeinste Bereich. Ressourcen, die im Zellenbereich definiert werden, sind auf allen Knoten und Servern sichtbar, vorausgesetzt, sie wurden nicht überschrieben. Möchten Sie Ressourcen anzeigen, die im Zellenbereich definiert wurden, dürfen Sie keinen Server oder Knotennamen im Formular für die Bereichsauswahl angeben.
Knoten
Der Standardbereich für die meisten Ressourcentypen. Ressourcen, die im Knotenbereich definiert werden, überschreiben alle Duplikate im Zellenbereich und sind auf allen Servern, die sich auf demselben Knoten befinden, sichtbar, vorausgesetzt, sie wurden nicht in einem Serverbereich auf diesem Knoten überschrieben. Möchten Sie Ressourcen anzeigen, die in einem Knotenbereich definiert wurden, dürfen Sie keinen Server angeben, sondern müssen einen Knotennamen im Formular für die Bereichsauswahl auswählen.
Server
Der spezifischste Bereich für die Definition von Ressourcen. Ressourcen, die im Serverbereich definiert werden, überschreiben alle Duplikate von Ressourcendefinitionen, die im Zellenbereich oder im übergeordneten Knotenbereich definiert wurden, und können nur von einem spezifischen Server erkannt werden. Möchten Sie Ressourcen anzeigen, die in einem Serverbereich definiert wurden, müssen Sie im Formular für die Bereichsauswahl einen Servernamen und einen Knotennamen auswählen.

Wenn Ressourcen erstellt werden, werden sie immer im aktuellen, in der Anzeige ausgewählten Bereich erstellt. Möchten Sie Ressourcen in anderen Bereichen anzeigen, geben Sie einen anderen Knoten oder Server im Formular für die Bereichsauswahl an.

Datentyp String
Zeitlimit für Verbindungen
Das Intervall in Sekunden, nach dem das Zeitlimit für eine Verbindungsanforderung überschritten ist und eine ConnectionWaitTimeoutException ausgelöst wird.

Die Wartezeit ist erforderlich, wenn der Wert für die Maximalanzahl der Verbindungen für einen bestimmten Verbindungspool erreicht wurde.Wenn z. B. das Zeitlimit für Verbindungen auf 300 gesetzt und die Maximalanzahl der Verbindungen erreicht wurde, wartet der Poolmanager ca. 300 Sekunden lang darauf, dass eine physische Verbindung verfügbar wird. Wird in diesem Zeitraum keine physische Verbindung verfügbar, setzt der Poolmanager eine ConnectionWaitTimeoutException ab. Normalerweise ist es nicht sinnvoll, die Methode getConnection() zu wiederholen, denn wenn eine längere Wartezeit erforderlich ist, muss das Datenquellenmerkmal connectionTimeout höher eingestellt werden. Daher sollte der Administrator, wenn diese Ausnahmebedingung von der Anwendung abgefangen wird, die geplante Verwendung der Anwendung überprüfen und den Verbindungspool und die Datenbank entsprechend optimieren.

Wenn das Zeitlimit für Verbindungen auf den Wert 0 gesetzt wurde, wartet der Poolmanager, bis eine Verbindung zugeordnet werden kann (dies geschieht, wenn die Anzahl der Verbindungen unter den Wert für die Maximalanzahl der Verbindungen fällt).

Wenn die Maximalanzahl der Verbindungen auf 0 gesetzt wird, ist die Anzahl der physischen Verbindungen unbegrenzt, und das Zeitlimit für Verbindungen wird ignoriert.

Datentyp Integer
Einheiten Sekunden
Standardwert 180
Bereich 0 bis Maximalwert für int
Maximalanzahl der Verbindungen
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 die Maximalanzahl der Verbindungen auf 0 eingestellt ist, wird das Zeitlimit für Verbindungen ignoriert.

Wenn der Wert für die Größe des Verbindungspools unter der maximalen Anzahl von Verbindungen im Webcontainer liegt, wird ein besserer Durchsatz erreicht. Mit niedrigen Einstellungen, wie z. B. 10 bis 30 Verbindungen, erzielen Sie einen besseren Durchsatz als mit höheren Einstellungen wie 100 Verbindungen.

Wenn mit Klonen gearbeitet wird, gibt es für jeden Klon einen Verbindungspool. Dies muss beim Konfigurieren der maximalen Verbindungen der Datenbank berücksichtigt werden.

Ermitteln Sie mit dem Tivoli Performance Viewer die optimale Anzahl von Verbindungen im Pool. 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.

Datentyp Integer
Standardwert 10
Bereich 0 bis Maximalwert für int
Mindestanzahl der Verbindungen
Die Mindestanzahl der physischen Verbindungen, die verwaltet werden sollen.

Solange dieser Wert nicht erreicht ist, löscht der Thread für Poolverwaltung keine physischen Verbindungen. Dennoch wird nicht versucht, die Anzahl der Verbindungen auf diesen Wert zu erhöhen. Wenn Sie einen Wert für Zeitlimit für veraltete Verbindungen angeben, wird keine Mindestanzahl von Verbindungen berücksichtigt. Alle Verbindungen, deren Gültigkeit abgelaufen ist, werden gelöscht.

Ist die Mindestanzahl der Verbindungen z. B. auf 3 eingestellt und wurde eine physische Verbindung erstellt, wird diese Verbindung nicht durch den Thread für das Zeitlimit für nicht verwendete Verbindungen gelöscht. 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
Standardwert 1
Bereich 0 bis Maximalwert für int
Bereinigungsintervall
Das Intervall (in Sekunden) zwischen den Ausführungen des Thread für Poolverwaltung.

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 des Zeitlimits für nicht verwendete Verbindungen und des Zeitlimits 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
Standardwert 180
Bereich 0 bis Maximalwert für int
Zeitlimit für nicht verwendete Verbindungen
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 gelöscht, 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. Beachten Sie, dass die Genauigkeit dieses Zeitlimits und die Leistung vom Bereinigungsintervall beeinflusst werden. Nähere Informationen hierzu finden Sie im Abschnitt Bereinigungsintervall.

Datentyp Integer
Einheiten Sekunden
Standardwert 1800
Bereich 0 bis Maximalwert für int
Zeitlimit für veraltete Verbindungen
Intervall in Sekunden, nach dessen Ablauf eine physische Verbindung gelöscht wird.

Wird das 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 den Wert für das Bereinigungsintervall. 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. Beachten Sie, dass die Genauigkeit dieses Zeitlimits und die Leistung vom Wert des Bereinigungsintervalls beeinflusst werden. Nähere Informationen hierzu finden Sie im Abschnitt Bereinigungsintervall.

Datentyp Integer
Einheiten Sekunden
Standardwert 0
Bereich 0 bis Maximalwert für int
Policy für Löschen
Gibt an, wie Verbindungen gelöscht werden sollen, wenn eine veraltete Verbindung oder ein schwer wiegender Verbindungsfehler ermittelt wird.

Die gültigen Werte lauten EntirePool und FailingConnectionOnly.Für JCA-Datenquellen ist jede Option möglich. Als Policy für das Löschen der Datenquellen von WebSphere Version 4.0 wird immer die Einstellung EntirePool verwendet.

Datentyp String
Standardwert FailingConnectionOnly
Bereich
EntirePool
Alle Verbindungen im Pool sind als veraltet markiert. Alle nicht verwendeten Verbindungen werden sofort geschlossen. Eine gerade verwendete Verbindung wird geschlossen, und während der nächsten Operation für diese Verbindung wird eine StaleConnectionException ausgelöst. Nachfolgende getConnection-Anforderungen seitens der Anwendung bewirken, dass neue Verbindungen zur Datenbank geöffnet werden. Wenn diese Policy für Löschen verwendet wird, besteht ein geringes Risiko, dass einige Verbindungen im Pool geschlossen werden, obwohl sie nicht veraltet sind. Dies kommt jedoch nur selten vor. In den meisten Fällen ist die Einstellung "EntirePool" für Policy für Löschen die beste Wahl.
FailingConnectionOnly
Nur die Verbindung, die die Ausnahmebedingung StaleConnectionException verursachte, wird geschlossen. Diese Einstellung schließt das Risiko, dass gültige Verbindungen unnötigerweise geschlossen werden, zwar aus, sie hat aber auch zur Folge, dass die Wiederherstellung aus Sicht der Anwendung schwieriger wird. Da nur die gegenwärtig fehlerhafte Verbindung geschlossen wird, ist die Wahrscheinlichkeit, dass die nächste getConnection-Anforderung seitens der Anwendung eine Verbindung aus dem Pool zurückgibt, die ebenfalls veraltet ist, relativ hoch.

Zugehörige Informationen

Knöpfe in der Adminstrationskonsole
Funktionen auf den Seiten der Administrationskonsole