Erweitere Einstellungen für Verbindungspools
Verwenden Sie diese Seite, um Einstellungen für das Verbindungspooling festzulegen.
Diese Seite der Administrationskonsole wird für eine Reihe von Ressourcentypen verwendet, wie z. B. JDBC-Datenquellen und Verbindungsfactorys für JMS-Warteschlangen. Der Pfad zum Anzeigen dieser Seite richtet sich nach dem Ressourcentyp, aber im Allgemeinen wählen Sie eine Instanz des Ressourcenproviders und anschließend eine Instanz des Ressourcentyps und klicken dann auf
.Die Unterstützung für Verbindungspoolpartitionen erstellt Buckets und Hashs der Buckets für die Optimierung des Verbindungspools für Anforderungen der Methode "getConnection". Die Anzahl der gemeinsam genutzten Partitionen, die Anzahl freier Poolpartitionen und die Größe der Zuordnungstabelle für freie Pools sind Eigenschaften, mit denen Sie die Zeit verkürzen können, die ein Thread auf eine Synchronisationssperre warten muss. Auf Systemen mit einem einzigen Prozessor machen diese Werte keinen Unterschied. Auf Systemen mit mehreren Prozessoren können diese Einstellungen die Leistungskosten für die Verwaltung mehrerer Threads reduzieren.
Wenn die Standardwerte verwendet werden, was bedeutet, dass die Partitionen auf 0 gesetzt werden, wählt der Verbindungspool automatisch die besten Werte aus. Die Möglichkeit, die Standardwerte zu ändern, wird in erster Linie für Verbindungspools bereitgestellt, die den Maximalwert von 500 Verbindungen überschreiten. Wenn der Verbindungspool die Maximalanzahl von 500 Verbindungen überschreitet, kann die Formel, die für die automatische Optimierung des Verbindungspools verwendet wird, bewirken, dass große Objekte erstellt werden, deren Größe Sie verringern möchten. Eine Verringerung der Partitionsgröße kann sich nachteilig auf die Leistung auswirken. Diese Auswirkungen sind jedoch normal, wenn Sie Hauptspeicher gegen Leistung abwägen.
Anzahl gemeinsamer Partitionen
Gibt die Anzahl der Partitionen an, die in jedem der gemeinsamen Pools erstellt wird.
Die Partitionsunterstützung ist standardmäßig aktiviert. Verwenden Sie den Standardwert 0, wenn der Verbindungspool die besten Werte für die Leistung auswählen soll. Bei der Verwendung von Multiprozessorsystemen können Sie durch Anpassen der Eigenschaften für Partitionsunterstützung unter Umständen eine Leistungsverbesserung erzielen.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Anzahl freier Poolpartitionen
Gibt die Anzahl der Partitionen an, die in jedem der gemeinsamen Pools erstellt wird.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Größe der Zuordnungstabelle für freie Pools
Bestimmt die Verteilung der Subject- und CRI-Hash-Werte in der Tabelle, die die Nutzungsdaten für Verbindungen indexiert.
Diese Hash-Werte werden verwendet, um die Berechtigungsnachweise für Verbindungsanforderungen den Verbindungen zuzuordnen. Ein Wert für die Größe der Zuordnungstabelle für freie Pools größer als 1 lässt eine effizientere Verteilung der Hash-Werte zu und minimiert Suchkollisionen innerhalb der Tabelle. Wenn weniger Kollisionen auftreten, kann eine Verbindung, die einer Anforderung entspricht, unter Umständen schneller abgerufen werden. Verwenden Sie einen größeren Wert für die Größe der Zuordnungstabelle für freie Pools, wenn Ihre Ressource viele eingehende Anforderungen mit unterschiedlichen Berechtigungsnachweisen empfängt. Kleinere Werte (1) müssen verwendet werden, wenn für alle eingehenden Anforderungen für diese Ressource dieselben Berechtigungsnachweise verwendet werden. Der Wert 0 steht für eine zufällige Verteilung.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Schwellenwert für Spitzenauslastung
Gibt die Anzahl der Verbindungen an, die erstellt werden, bevor der Überlastschutz aktiviert wird.
Der Schutz bei Spitzenauslastung soll die Überlastung einer Datenquelle verhindern, wenn zu viele Verbindungen gleichzeitig erstellt werden. Er wird über zwei Eigenschaften gesteuert: Schwellenwert für Spitzenauslastung und Intervall für Verbindungserstellung bei Spitzenauslastung.
Die Eigenschaft "Intervall für Verbindungserstellung bei Spitzenauslastung" gibt die Anzahl der Verbindungen an, die erstellt werden, bevor der Überlastschutz aktiviert wird. Wenn die angegebene Anzahl an Verbindungen erreicht ist, wechselt das System in den Modus für Spitzenauslastung.
Die Eigenschaft "Intervall für Verbindungserstellung bei Spitzenauslastung" gibt an, wie lange (in Sekunden) im Modus für Spitzenauslastung gewartet wird, bevor eine neue Verbindung erstellt wird.
- maxConnections = 50
- surgeThreshold = 10
- surgeCreationInterval = 30 Sekunden
Die Unterstützung für den Überlastschutz beginnt, wenn der Schwellenwert für Spitzenauslastung größer als -1 und das Intervall für Verbindungserstellung bei Spitzenauslastung größer als 0 ist. Standardmäßig ist der Schwellenwert für Spitzenauslastung auf -1 eingestellt, d. h. inaktiviert.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | -1 |
Einstellmöglichkeiten | -1 bis größte ganze Zahl |
Intervall für Verbindungserstellung bei Spitzenauslastung
Gibt das Intervall für die Herstellung von Verbindungen an, wenn das System unter Spitzenlast steht.
Wenn die Anzahl der Verbindungen, die mit der Eigenschaft "Schwellenwert für Spitzenauslastung" angegeben wurde, erreicht ist, gibt die Eigenschaft "Intervall für Verbindungserstellung bei Spitzenauslastung" an, wie lange mit der Bearbeitung einer neuen Verbindungsanforderung gewartet wird.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Zeitgeberintervall für blockierte Verbindungen
Eine blockierte Verbindung ist eine aktive Verbindung, die nicht reagiert oder nicht in den Verbindungspool zurückkehrt. Wenn ein Pool blockiert zu sein scheint (der Schwellenwert für Blockierung ist erreicht), wird eine Ressourcenausnahme für alle neuen Verbindungsanforderungen ausgelöst, bis der Pool nicht mehr blockiert ist. Die Eigenschaft "Intervall für Blockierungsprüfung" gibt das Intervall für den Zeitgeber an, d. h. wie oft der Verbindungspool prüft, ob blockierte Verbindungen vorhanden sind. Der Standardwert ist 0 Sekunden.
Falls der Versuch, die Blockierungsdauer, das Intervall für Blockierungsprüfung oder den Schwellenwert für Spitzenauslastung mit dem Scripting-Tool wsadmin zu ändern, fehlschlägt, wird eine Ausnahme vom Typ IllegalState ausgelöst. Der Pool kann während der Ausführung dieser Anforderung keine aktiven Anforderungen oder aktiven Verbindungen haben. Damit die Unterstützung für blockierte Verbindungen aktiviert wird, müssen die Werte für die Blockierungsdauer, den Schwellenwert für Blockierung und die maximale Anzahl von Verbindungen größer als 0 sein.
Außerdem muss der Wert für das Intervall für Blockierungsprüfung, sofern gesetzt, kleiner sein als der Wert für die Blockierungszeit. Es wird sogar empfohlen, das Intervall für Blockierungsprüfung so einzustellen, dass es ein Viertel bis ein Sechstel der Blockierungsdauer beträgt, damit der Verbindungspool vier bis sechs Mal prüft, ob blockierte Verbindungen vorhanden sind, bevor er eine Verbindung als blockiert deklariert. Dies verringert die Wahrscheinlichkeit falscher Alarme.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Blockierungsdauer
Eine blockierte Verbindung ist eine aktive Verbindung, die nicht reagiert oder nicht in den Verbindungspool zurückkehrt. Wenn ein Pool blockiert zu sein scheint (der Schwellenwert für Blockierung ist erreicht), wird eine Ressourcenausnahme für alle neuen Verbindungsanforderungen ausgelöst, bis der Pool nicht mehr blockiert ist. Die Eigenschaft "Blockierungsdauer" gibt an, wie lange eine aktive Verbindung mit der Kommunikation maximal beschäftigt sein kann, bevor sie als blockiert eingestuft wird.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |
Schwellenwert für Blockierung
Eine blockierte Verbindung ist eine aktive Verbindung, die nicht reagiert oder nicht in den Verbindungspool zurückkehrt. Wenn ein Pool blockiert zu sein scheint (der Schwellenwert für Blockierung ist erreicht), wird eine Ressourcenausnahme für alle neuen Verbindungsanforderungen ausgelöst, bis der Pool nicht mehr blockiert ist. Eine Anwendung kann diese Ausnahme explizit abfangen und mit der Verarbeitung fortfahren. Der Pool sucht weiterhin in regelmäßigen Abständen nach blockierten Verbindungen, wenn die Anzahl der blockierten Verbindungen den Schwellenwert überschreitet. Wenn die Anzahl blockierter Verbindungen unter den Schwellenwert fällt, stellt der Pool dies bei seinen regelmäßigen Prüfungen fest und beginnt wieder mit der Verarbeitung von Anforderungen. Der Schwellenwert für Blockierung gibt die Anzahl von Verbindungen an, die blockiert sein müssen, damit der Pool blockiert wird.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis maximaler Integer |