ConnectionPool 모니터링
Liberty 프로파일의 ConnectionPool 모니터링을 위해 ConnectionPool MXBean을 사용할 수 있습니다.
각각의 ConnectionPool에 대해 성능 데이터를 사용할 수 있게 됩니다. 연결 풀은 데이터 소스 및 연결 팩토리로부터 연결을 관리합니다.
각각의 연결 관리자에는 연관된 ConnectionPool MXBean이 있으며 모든 연결 관리자에 대해 하나의 MXBean이 있습니다.
각 ConnectionPool MXBean을 식별하기 위한
ObjectName은 다음과 같습니다.
WebSphere:type=ConnectionPool,name=<IDENTIFIER_OF_CONNECTION_MANAGER>
다음 예에서는
JNDI 이름을 가지지 않은 연결 풀(데이터 소스 또는 연결 팩토리용)을
보여줍니다. JNDI가 지정되지 않은 경우 데이터 소스 [default-x] 이름은 데이터 소스 오브젝트로
간주됩니다.WebSphere:type=ConnectionPool,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=ConnectionPool,name=dataSource[MyDataSource]/connectionManager[default-0] <dataSource id="MyDataSource"> <connectionManager maxPoolSize="10"/> <jdbcDriver libraryRef="DB2JCC4LIB"/> <properties.db2.jcc .../> </dataSource>
- ID가 지정된 경우, ID가 됩니다.
WebSphere:type=ConnectionPool,name=connectionManager[Pool2] <dataSource id="DataSource2" jdbcDriverRef="DB2JCCDriver" connectionManagerRef="Pool2"> <properties.db2.jcc .../> </dataSource> <connectionManager id="Pool2" maxPoolSize="20"/>
ConnectionPool MXBean은 단일 연결 관리자에 대한 ConnectionPool 통계의 보고를 담당합니다. 모니터링을 사용 가능하게 설정하면 ConnectionPool MXBean에 대해 다음과 같은 counter 속성을 사용할 수 있습니다.
- CreateCount
- 작성된 총 연결 수
- DestroyCount
- 삭제된 총 연결 수
- ManagedConnectionCount
- 사용 중인 ManagedConnection 오브젝트 수
- WaitTime
- 연결이 허용될 때까지의 평균 대기 시간(밀리초)
- ConnectionHandleCount
- 사용 중인 연결 오브젝트 수
- FreeConnectionCount
- 풀의 사용 가능한 연결 수.