ConnectionPool 監視
您可以在 Liberty 中使用 ConnectionPool MXBean,來進行連線儲存區監視。
會提供效能資料給每一個連線儲存區使用。連線儲存區會管理來自資料來源和 Connection Factory 的連線。
如果要啟用連線儲存區監視,必須啟用 monitor-1.0 特性:
<feature>monitor-1.0</feature>
用來識別每個 ConnectionPool MXBean 的 ObjectName 是:
WebSphere:type=ConnectionPoolStats,name=<IDENTIFIER_OF_CONNECTION_MANAGER>
下列範例顯示沒有 JNDI 名稱的連線儲存區(資料來源或 Connection Factory)。
當未指定 JNDI 時,會將資料來源 [default-x] 名稱視為資料來源物件。
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>
提供連線管理程式時的範例配置。
- 當未指定明確的 ID 時,會根據其母項來產生 ID
WebSphere:type=ConnectionPoolStats,name=dataSource[MyDataSource]/connectionManager[default-0] <dataSource id="MyDataSource"> <connectionManager maxPoolSize="10"/> <jdbcDriver libraryRef="DB2JCC4LIB"/> <properties.db2.jcc .../> </dataSource>
- 指定 ID 之後,它會成為 ID
WebSphere:type=ConnectionPoolStats,name=connectionManager[Pool2] <dataSource id="DataSource2" jdbcDriverRef="DB2JCCDriver" connectionManagerRef="Pool2"> <properties.db2.jcc .../> </dataSource> <connectionManager id="Pool2" maxPoolSize="20"/>
- 取得類型 2 驅動程式連線儲存區的正確 ID。
- 確定正在使用儲存區的應用程式會呼叫 DB2,以便起始設定儲存區。
- 導覽至 REST 介面,以決定配置中所要使用的適當 ID。
例如:
host:443/IBMJMXConnectorREST/mbeans
為類型 2 驅動程式的連線儲存區,指定正確 ID
{"objectName":"WebSphere:type=ConnectionPoolStats,name=jdbc/acp01"," className":"com.ibm.ws.connectionpool.monitor.ConnectionPoolStats"," URL":"/IBMJMXConnectorREST/mbeans/WebSphere%3Aname%3Djdbc%2Facp01% 2Ctype%3DConnectionPoolStats"}
ConnectionPool MXBean 負責報告單一連線管理程式的「ConnectionPool 統計資料」。 以下是啟用監視之後,ConnectionPool MXBean 所能使用的計數器屬性:
- CreateCount
- 自建立儲存區以來已建立的受管理連線總數。
- DestroyCount
- 自建立儲存區以來已銷毀的受管理連線總數。
- ManagedConnectionCount
- 可用、共用和取消共用之儲存區中的受管理連線總數。
- WaitTime
- 如果連線目前無法使用,則授與連線之前的平均等待時間(毫秒)。
- ConnectionHandleCount
- 使用中的連線數目。此數目可能包含從單一受管理連線共用的多條連線。
- FreeConnectionCount
- 可用儲存區中的受管理連線數目。
- InUseTime
- 連線處於使用中的平均時間(毫秒)。