连接池监视
在 Liberty 中,可以使用 ConnectionPool MXBean 进行连接池监视。
性能数据可供每个连接池使用。连接池管理来自数据源和连接工厂的连接。
要启用连接池监视,您必须启用 monitor-1.0 功能部件:
<feature>monitor-1.0</feature>
用于标识每个 ConnectionPool MXBean 的 ObjectName 为:
WebSphere:type=ConnectionPoolStats,name=<IDENTIFIER_OF_CONNECTION_MANAGER>
以下示例显示没有 JNDI 名称的连接池(对于数据源或连接工厂)。如果未指定 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>
当提供了连接管理器时的示例配置。
- 如果未指定显式标识,那么系统根据其父代生成标识
WebSphere:type=ConnectionPoolStats,name=dataSource[MyDataSource]/connectionManager[default-0] <dataSource id="MyDataSource"> <connectionManager maxPoolSize="10"/> <jdbcDriver libraryRef="DB2JCC4LIB"/> <properties.db2.jcc .../> </dataSource>
- 如果指定了标识,那么该标识变为标识符
WebSphere:type=ConnectionPoolStats,name=connectionManager[Pool2] <dataSource id="DataSource2" jdbcDriverRef="DB2JCCDriver" connectionManagerRef="Pool2"> <properties.db2.jcc .../> </dataSource> <connectionManager id="Pool2" maxPoolSize="20"/>
- 获取 2 类驱动程序连接池的正确标识。
- 确保正使用池的应用程序针对 DB2 执行调用,以便初始化池。
- 浏览到 REST 接口以确定要在配置中使用的正确标识。
例如:
host:443/IBMJMXConnectorREST/mbeans
指定 2 类驱动程序的连接池的正确标识
{"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
- 使用连接的平均时间(按毫秒计)。