Überwachung von Verbindungspools
Sie können die ConnectionPool-MXBean für die Verbindungspoolüberwachung in Liberty verwenden.
Für jeden Verbindungspool werden Leistungsdaten verfügbar gemacht. Verbindungspools verwalten Verbindungen von Datenquellen und Verbindungsfactorys.
Zum Aktivieren der Verbindungspoolüberwachung müssen Sie das Feature monitor-1.0
aktivieren:
<feature>monitor-1.0</feature>
Der ObjectName für die Angabe jeder
ConnectionPool-MXBean lautet wie folgt:
WebSphere:type=ConnectionPoolStats,name=<VERBINDUNGSMANAGER-ID>
Das folgende Beispiel
zeigt einen Verbindungspool (für eine Datenquelle oder eine Verbindungsfactory), der keinen JNDI-Namen hat.
Der Datenquellenname [default-x] wird als Datenquellenobjekt behandelt, wenn JNDI nicht angegeben ist.
WebSphere:type=ConnectionPoolStats,name=transaction/dataSource[default-0]/connectionManager
<transaction enableLoggingForHeuristicReporting="true" transactionLogSize="2048">
<dataSource transactional="false">
<jdbcDriver libraryRef="DerbyLib"/>
<properties.derby.embedded databaseName="<DIR Path>/<DatabaseName>" createDatabase="create"/>
</dataSource>
</transaction>
Beispielkonfigurationen, wenn ein Verbindungsmanager angegeben ist
- Wenn keine explizite ID angegeben ist, wird eine ID basierend auf der übergeordneten ID generiert:
WebSphere:type=ConnectionPoolStats,name=dataSource[MyDataSource]/connectionManager[default-0] <dataSource id="MyDataSource"> <connectionManager maxPoolSize="10"/> <jdbcDriver libraryRef="DB2JCC4LIB"/> <properties.db2.jcc .../> </dataSource>
- Wenn eine ID angegeben ist, wird diese verwendet:
WebSphere:type=ConnectionPoolStats,name=connectionManager[Pool2] <dataSource id="DataSource2" jdbcDriverRef="DB2JCCDriver" connectionManagerRef="Pool2"> <properties.db2.jcc .../> </dataSource> <connectionManager id="Pool2" maxPoolSize="20"/>
- Richtige ID für einen Verbindungspool für einen Treiber des Typs 2 anfordern:
- Stellen Sie sicher, dass die Anwendung, die den Pool verwendet, einen Aufruf an DB2 absetzt, damit der Pool initialisiert wird.
- Navigieren Sie zur REST-Schnittstelle, um die in der Konfiguration zu verwendende richtige ID zu bestimmen.
Beispiel:
host:443/IBMJMXConnectorREST/mbeans
Richtige ID für einen Verbindungspool für einen Treiber des Typs 2 angeben:
{"objectName":"WebSphere:type=ConnectionPoolStats,name=jdbc/acp01"," className":"com.ibm.ws.connectionpool.monitor.ConnectionPoolStats"," URL":"/IBMJMXConnectorREST/mbeans/WebSphere%3Aname%3Djdbc%2Facp01% 2Ctype%3DConnectionPoolStats"}
Mit der MXBean "ConnectionPool" werden Verbindungspoolstatistiken (ConnectionPool Stats) für einen einzelnen Verbindungsmanager berichtet. Nach der Aktivierung der Überwachung sind die folgenden Zählerdaten für die ConnectionPool-MXBean verfügbar:
- CreateCount
- Die Gesamtanzahl verwalteter Bedingungen, die seit der Poolerstellung erstellt wurden.
- DestroyCount
- Die Gesamtanzahl verwalteter Bedingungen, die seit der Poolerstellung gelöscht wurden.
- ManagedConnectionCount
- Die Gesamtanzahl verwalteter Verbindungen in den freien, gemeinsam genutzten und nicht gemeinsam genutzten Pools.
- WaitTime
- Die durchschnittliche Wartezeit in Millisekunden vor der Freigabe einer Verbindung, wenn momentan keine Verbindung verfügbar ist.
- ConnectionHandleCount
- Die Anzahl der Verbindungen, die im Gebrauch sind. Diese Zahl kann mehrere Verbindungen enthalten, die von einer einzigen verwalteten Verbindung genutzt werden.
- FreeConnectionCount
- Die Anzahl verwalteter Verbindungen im freien Pool.
- InUseTime
- Die durchschnittliche Verwendungszeit einer Verbindung in Millisekunden.