연결 풀 설정

이 페이지에서 연결 풀 설정을 구성할 수 있습니다.

이 관리 콘솔 페이지는 JDBC 데이터 소스 및 JMS 큐 연결 팩토리(통합, 큐 또는 토픽 연결 팩토리)에 공통입니다. 경로는 자원 유형에 종속되지만, 이 페이지를 보기 위해 일반적으로 자원 유형 인스턴스를 선택하고 연결 풀을 클릭하십시오. 예를 들어,
  • 딸깍 하는 소리 자원 >JDBC > 데이터 소스 > 데이터 소스 > [추가 속성] 연결 풀 속성
  • 딸깍 하는 소리 자원 > JMS ->큐 연결 팩토리 -> queue_connection_factory ->[추가 속성] 연결 풀
메모: 응용 프로그램 클라이언트에서는 연결 풀링이 지원되지 않습니다. 애플리케이션 클라이언트는 데이터베이스를 직접 호출하며 데이터 소스를 통해 이동하지 않습니다. 애플리케이션 클라이언트에서 getConnection() 요청을 사용하려면 Rational® Application Developer 또는 어셈블리 도구로 애플리케이션 클라이언트 배치 디스크립터에서 JDBC 제공자를 구성하십시오. 애플리케이션 클라이언트와 데이터베이스 사이에 연결이 설정됩니다. 애플리케이션 클라이언트에는 연결 풀이 없으나 클라이언트 배치 디스크립터에서 JDBC 제공자 설정을 구성할 수 있습니다.

연결 제한시간

이 간격 후에 연결 요청 제한시간이 초과되어 ConnectionWaitTimeoutException이 발생하는 간격(초)을 지정합니다.

이 값은 사용 가능한 풀에 사용 가능한 연결이 없고 새 연결을 작성할 수 없을 때 연결 요청이 대기하는 초 수를 표시합니다. 이는 보통 특정 연결 풀 내의 최대 연결 수에 도달했기 때문에 발생합니다.

예를 들어 연결 제한시간이 300으로 설정되고 최대 연결 수만큼 사용 중인 경우, 풀 관리자는 실제 연결이 사용 가능하게 될 때까지 300초 동안 기다립니다. 실제 연결이 해당 시간 안에 사용 가능하게 되지 않는 경우 풀 관리자는 ConnectionWaitTimeout 예외를 시작합니다. 대부분의 경우, getConnection() 메소드를 재시도해서는 안 됩니다. 더 오랜 대기 시간이 요구되는 경우, 연결 제한시간 설정값을 늘려야 합니다. 애플리케이션에서 ConnectionWaitTimeout 예외가 발생할 경우, 예상되는 애플리케이션의 연결 풀 사용을 검토하고 연결 풀 및 데이터베이스를 적절히 튜닝하십시오.

연결 제한시간이 0으로 설정되면, 풀 관리자는 연결이 사용 가능하게 될 때까지 필요한 만큼 기다립니다. 이러한 상황은 애플리케이션이 트랜잭션을 완료하고 풀에 연결을 리턴하거나, 연결 수가 최대 연결 수 미만이고 새 실제 연결이 작성되는 경우에 발생합니다.

최대 연결 수가 0으로 설정되면, 무한 개수의 실제 연결이 사용 가능하며 연결 제한시간 값은 무시됩니다.

정보
데이터 유형 정수
단위
기본값 180
범위 0 - 최대 정수

최대 연결 수

이 풀에 작성할 수 있는 실제 연결의 최대 수를 지정하십시오.

이들은 백엔드 자원에 대한 실제 연결입니다. 이 수에 도달하면, 새 실제 접속이 작성되지 않습니다. 요청자는 현재 사용 중인 실제 접속이 풀로 리턴되거나 ConnectionWaitTimeoutException 오류가 표시될 때까지 대기합니다. 예를 들어 최대 연결 수 값이 5로 설정되고 실제 연결 5건을 사용 중이면, 풀 관리자는 실제 연결의 연결 제한시간으로 지정한 시간만큼 대기합니다.

잠재적으로 백엔드(예: DB2® 데이터베이스 또는 CICS® 서버)에서 연결을 요청할 수 있는 연결 풀의 수를 아는 것이 최대 연결 수 특성에 대한 값을 결정하는 데 도움이 됩니다.

[AIX Solaris HP-UX Linux Windows]동일한 데이터 소스 구성 또는 J2C 연결 팩토리 구성을 사용하는 다중 독립형 애플리케이션 서버의 경우, 각 서버에 대해 별도의 실제 연결 풀이 존재합니다. 이러한 동일한 애플리케이션 서버를 복제하면 WebSphere® Application Server (베이스) 각 클론에 대해 별도의 연결 풀을 구현합니다.

[AIX Solaris HP-UX Linux Windows]이러한 연결 풀은 모두 동일한 데이터 소스 또는 연결 팩토리 구성에 해당됩니다. 따라서 이러한 연결 풀은 모두 잠재적으로 동시에 동일한 백엔드 자원에서 연결을 요청할 수 있습니다. 이 콘솔 패널에 설정할 수 있는 단일 최대 연결 수 값은 해당 연결 풀 모두에 적용됩니다. 결론적으로 높은 최대 연결 수 값을 설정하면 백엔드 자원을 초과하는 연결 요청이 로드될 수 있습니다.

정보
데이터 유형 정수
기본값 1,000만
범위 0 - 최대 정수

최대 연결 수가 0으로 설정되면, 연결 제한시간 값이 무시됩니다.

팁: 성능을 향상시키려면 연결 풀을 웹 컨테이너의 최대 스레드 풀 연결 값보다 작은 값으로 설정하십시오. 웹 컨테이너의 최대 스레드를 구성하려면 서버 > 서버 유형 >WebSphere 애플리케이션 서버 > 섬기는 사람 > 스레드 풀 을 클릭하고 웹 컨테이너 속성을 수정합니다. 10 - 30개 연결 정도로 낮게 설정하면 100과 같이 높게 설정할 때보다 성능이 좋아집니다.
일부 상황에서는 다른 설정이 더 나을 수 있습니다.
  • 동일한 스레드에서 둘 이상의 연결이 사용되는 경우입니다.

    사용된 각 웹 컨테이너 스레드의 경우 연결 풀 스레드가 사용 가능해야 합니다. 비동기 Bean에서 웹 요청에 따라 둘 이상의 연결 풀 스레드가 필요할 수 있습니다. 그러므로 웹 컨테이너 스레드 풀보다 더 높은 연결 풀 최대 스레드 개수를 작성하십시오.

  • 각 웹 컨테이너 스레드에 대해 둘 이상의 연결이 사용되는 경우입니다.

    웹 컨테이너 스레드 풀을 웹 컨테이너의 최대 스레드 풀 연결의 두 배로 설정하십시오.

Tivoli® Performance Viewer를 사용하여 풀에서 최적 연결 수를 찾을 수 있습니다. 동시 대기자 수가 0보다 크지만, 프로세서 로드가 100%에 가깝지 않으면 연결 풀 크기 증가를 고려하십시오. 사용률이 보통 워크로드보다 계속 낮으면, 풀의 연결 수를 줄이는 것이 좋습니다.

최소 연결 수

유지보수해야 하는 실제 최소 연결 수를 지정합니다.

연결 풀의 크기가 최소 연결 풀 크기 이하일 경우, 미사용 제한시간 스레드는 실제 연결을 버리지 않습니다. 그러나 풀은 단지 최소 연결 풀 크기가 유지되도록 하기 위해 연결을 작성하지 않습니다. 또한 유효 제한시간의 값을 설정한 경우, 최소 풀 크기 설정에 관계 없이 기간이 만기된 연결이 버려집니다.

예를 들어 최소 연결 값을 3으로 설정하고 실제 연결을 하나 작성하면, 미사용 제한시간 스레드는 이 연결을 버리지 않습니다. 동일한 토큰에 의해 스레드는 최소 연결 수 설정에 도달하기 위해 두 개의 추가 실제 연결을 자동으로 작성하지 않습니다.

정보
데이터 유형 정수
기본값 0

V8.5.5.8 이하: 1

범위 0 - 최대 정수

Reap 시간

풀 유지보수 스레드 실행 사이의 간격(초)을 지정합니다.

예를 들어 Reap 시간이 60으로 설정되는 경우 풀 유지보수 스레드는 60초마다 실행합니다. Reap 시간 간격은 미사용 제한시간 및 유효 제한시간 설정의 정확성에 영향을 미칩니다. 간격이 작을수록 정확성은 더 큽니다. 풀 유지보수 스레드가 사용 가능한 경우, Reap 시간을 미사용 제한시간 및 유효 제한시간보다 작게 설정해야 합니다. 풀 유지보수 스레드가 실행할 때, 풀 유지보수 스레드는 미사용 제한시간에 지정된 시간 값보다 길게 사용되지 않은 기존의 모든 연결을 최소 연결 수에 지정된 연결 수에 도달할 때까지 버립니다. 또한 풀 유지보수 스레드는 유효 제한시간에 지정된 시간 값보다 오래 동안 활성 상태인 모든 연결을 버립니다.

Reap 시간 간격은 또한 성능에 영향을 줍니다. 더 작은 간격은 풀 유지보수 스레드가 더 자주 실행하여 성능이 떨어진다는 것을 의미합니다.

풀 유지보수 스레드를 사용 불가능하게 하려면, Reap 시간을 0으로 설정하거나 미사용 제한시간 및 유효 제한시간을 모두 0으로 설정하십시오. 풀 유지보수 스레드를 사용 불가능하게 하는 방법은 Reap 시간을 0으로 설정하는 것으로서, 이 경우 미사용 제한시간 및 유효 제한시간이 무시됩니다. 그러나 미사용 제한시간 및 유효 제한시간을 0으로 설정하는 경우 풀 유지보수 스레드가 실행됩니다. 0이 아닌 제한시간 값으로 인해 제한시간이 초과되는 실제 연결 뿐만 아니라 사용된 풀(또는 공유된 풀)에 있는 해당 연결이 버려집니다. 유휴 제한시간에 설정된 시간 간격보다 더 오래 보유되었기 때문입니다.

정보
데이터 유형 정수
단위
기본값 180
범위 0 - 최대 정수

미사용 제한시간

지정된 시간 후에 사용되지 않거나 대기 중인 연결이 버려지는 초 단위의 간격을 지정합니다.

최적의 성능을 위해 미사용 제한시간 값은 Reap 제한시간 값보다 크게 설정하십시오. 사용되지 않은 실제 연결은 현재 연결 수가 최소 연결 설정을 초과하는 경우에만 버려집니다. 예를 들어 미사용 제한시간 값을 120으로 설정하고 풀 유지보수 스레드가 사용 가능한 경우(Reap 시간이 0이 아님), 2분 동안 사용되지 않은 모든 실제 연결이 버려집니다.

이 제한시간의 정확성 및 성능은 Reap 시간 값의 영향을 받습니다. 보다 수확 시간 자세한 내용은.

정보
데이터 유형 정수
단위
기본값 1800
범위 0 - 최대 정수

유효 제한시간

실제 연결이 버려지기 전의 초 단위의 간격을 지정합니다.

유효 제한시간을 0으로 설정하면 활성 상태인 실제 연결이 풀에 무기한으로 남아 있도록 지원합니다. 최적의 성능을 위해 유효 제한시간 값은 Reap 제한시간 값보다 크게 설정하십시오.

예를 들어 유효 제한시간 값이 1200으로 설정되고 Reap 시간 값이 0이 아닌 경우, 1200초(20분) 동안 존재한 실제 연결은 풀에서 버려집니다. 유일한 예외는 유효 제한시간에 도달했을 때 연결이 트랜잭션에 관련되어 있는 경우입니다. 트랜잭션이 완료되어 연결이 닫히기 전에는 애플리케이션 서버에서 해당 연결을 버리지 않습니다.

이 제한시간의 정확성 및 성능은 Reap 시간 값의 영향을 받습니다. 보다 수확 시간 자세한 내용은.

정보
데이터 유형 정수
단위
기본값 0
범위 0 - 최대 정수

제거 정책

무효 연결 또는 치명적 연결 오류가 발견될 때 연결을 제거하는 방법을 지정합니다.

올바른 값은 EntirePoolFailingConnectionOnly입니다.

정보
데이터 유형 문자열
기본값 EntirePool