연결 풀 설정
이 페이지에서 연결 풀 설정을 구성할 수 있습니다.
- 을 클릭하십시오.
- 을 클릭하십시오.

연결 제한시간
경과 시 연결 요청 제한시간이 초과되어 ConnectionWaitTimeoutException이 발생하는 간격(초)을 지정합니다.
이 값은 사용 가능한 풀에 사용 가능한 연결이 없고 새 연결을 작성할 수 없을 때 연결 요청이 대기하는 시간(초)을 표시합니다. 이러한 상황은 보통 특정 연결 풀에서 최대 연결 수에 도달했기 때문에 발생합니다.
예를 들어, 연결 제한시간이 300으로 설정되고 최대 연결 수만큼 사용 중인 경우, 풀 관리자는 실제 연결이 사용 가능하게 될 때까지 300초 동안 기다립니다. 해당 시간 안에 실제 연결이 사용 가능하지 않으면 풀 관리자는 ConnectionWaitTimeout 예외를 시작합니다. 대부분의 경우, getConnection() 메소드를 재시도해서는 안 됩니다. 더 오랜 대기 시간이 요구되는 경우, 연결 제한시간 설정값을 늘려야 합니다. 애플리케이션에서 ConnectionWaitTimeout 예외가 발생할 경우, 애플리케이션의 예상 연결 풀 사용을 검토하여 연결 풀 및 데이터베이스를 적절히 조정하십시오.
연결 제한시간을 0으로 설정하면, 풀 관리자는 연결이 사용 가능하게 될 때까지 필요한 만큼 기다립니다. 애플리케이션이 트랜잭션을 완료하고 풀에 연결을 리턴하거나 연결 수가 최대 연결 수 미만이고 새 실제 연결이 작성될 때 연결이 사용 가능하게 됩니다.
최대 연결 수를 0으로 설정하면 무한 수의 실제 연결이 사용 가능하므로 연결 제한시간 값은 무시됩니다.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
단위 | 초 |
기본값 | 180 |
범위 | 0 - 최대 정수 |
최대 연결 수
이 풀에 작성할 수 있는 실제 연결의 최대 수를 지정합니다.
이들은 백엔드 자원에 대한 실제 연결입니다. 이 수에 도달하면, 새 실제 연결이 작성되지 않습니다. 요청자는 현재 사용 중인 실제 연결이 풀로 리턴되거나 ConnectionWaitTimeoutException 오류가 표시될 때까지 대기합니다. 예를 들어, 최대 연결 수 값이 5로 설정되고 5개의 실제 연결이 사용 중인 경우, 풀 관리자는 연결 제한시간에 지정된 시간 동안 실제 연결이 사용 가능해지기를 기다립니다.
잠재적으로 백엔드(예: DB2® 데이터베이스 또는 CICS® 서버)에서 연결을 요청할 수 있는 연결 풀의 수를 알면 최대 연결 수 특성의 값을 결정하는 데 도움이 됩니다.
동일한 데이터 소스 구성 또는 J2C 연결 팩토리
구성을 사용하는 다중 독립형 애플리케이션 서버의 경우, 서버마다
별도의 실제 연결 풀이 있습니다. 이러한 동일한 애플리케이션 서버를 복제하는 경우,
WebSphere Application Server(기본)는
복제본마다 별도의 연결 풀을 구현합니다.
동일한 자원에 액세스하는 하위(servant) 수를 고려하십시오. 런타임 시
이 수는 본질적으로 최대 연결 수 설정을 증가시킵니다. 하위(servant)가 동일한 JDBC 데이터 소스 또는 J2C 연결
팩토리 구성을 시작하면 WebSphere Application Server(기본)가 하위(servant)마다
그에 해당하는 실제 연결 풀을 구현합니다. 따라서 각 하위(servant)에 동일한 연결 풀이 독립적으로
존재합니다. 최대 연결 수 설정은 이러한 풀 중 하나에 각각 적용됩니다.
이러한 연결 풀은 모두 동일한 데이터 소스 또는 연결 팩토리 구성에
해당됩니다. 따라서 이러한 연결 풀은 모두 잠재적으로 동시에 동일한 백엔드 자원에서
연결을 요청할 수 있습니다. 이 콘솔 패널에서 설정하는
단일 최대 연결 수 값은 해당 연결 풀 모두에 적용됩니다.
결론적으로 높은 최대 연결 수 값을 설정하면 백엔드 자원이 감당할 수 없을 만큼 연결 요청이 많아질 수 있습니다.
잠재적으로 이러한 하위(servant)에
데이터 소스 또는 연결 팩토리가 필요한 모든 애플리케이션이 동시에 자원을 사용하려고
시도할 수 있습니다. 따라서 해당되는 연결 풀은 동시에 동일한 백엔드에서의 연결이
필요합니다. 데이터베이스 또는 기타 엔터프라이즈 정보 시스템(EIS)이 감당할 수 없을 만큼
연결 요청 수가 많아지도록 최대 연결 수 값을 설정하지 마십시오.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
기본값 | 10 |
범위 | 0 - 최대 정수 최대 연결 수를 0으로 설정하면 연결 제한시간 값이 무시됩니다. |
Tivoli® Performance Viewer를 사용하여 풀에서의 최적 연결 수를 찾을 수 있습니다. 동시 대기자 수가 0보다 크지만, 프로세서 로드가 100%에 가깝지 않으면 연결 풀 크기 증가를 고려하십시오. 사용률이 보통 워크로드보다 계속 낮으면 풀의 연결 수를 줄이는 것이 좋습니다.
최소 연결 수
유지보수해야 하는 최소 실제 연결 수를 지정합니다.
연결 풀의 크기가 최소 연결 풀 크기 이하일 경우, 미사용 제한시간 스레드는 실제 연결을 버리지 않습니다. 그러나 풀은 단지 최소 연결 풀 크기가 유지되도록 하기 위해 연결을 작성하지 않습니다. 또한 유효 제한시간의 값을 설정한 경우, 최소 풀 크기 설정에 관계 없이 기간이 만기된 연결이 버려집니다.
예를 들어, 최소 연결 수 값을 3으로 설정하고 실제 연결을 하나 작성하면, 미사용 제한시간 스레드는 이 연결을 버리지 않습니다. 동일한 토큰에 의해 스레드는 최소 연결 수 설정에 도달하기 위해 두 개의 추가 실제 연결을 자동으로 작성하지 않습니다.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
기본값 | 0 |
범위 | 0 - 최대 정수 |
Reap 시간
풀 유지보수 스레드 실행 사이의 간격(초)을 지정합니다.
예를 들어, Reap 시간을 60으로 설정하면 풀 유지보수 스레드는 60초마다 실행됩니다. Reap 시간 간격은 미사용 제한시간 및 유효 제한시간 설정의 정확성에 영향을 미칩니다. 간격이 작을수록 정확성은 더 큽니다. 풀 유지보수 스레드가 사용되는 경우, Reap 시간 값을 미사용 제한시간 및 유효 제한시간 값보다 작게 설정하십시오. 풀 유지보수 스레드가 실행될 때, 풀 유지보수 스레드는 최소 연결 수에 지정된 연결 수에 도달할 때까지 미사용 제한시간에 지정된 시간 값보다 오랫동안 사용되지 않는 모든 연결을 버립니다. 풀 유지보수 스레드는 유효 제한시간에 지정된 시간 값보다 오랫동안 활성 상태인 모든 연결도 버립니다.
Reap 시간 간격은 성능에도 영향을 미칩니다. 더 작은 간격은 풀 유지보수 스레드가 더 자주 실행되어 성능이 떨어짐을 의미합니다.
풀 유지보수 스레드를 사용하지 않으려면 Reap 시간을 0으로 설정하거나 미사용 제한시간 및 유효 제한시간을 모두 0으로 설정하십시오. 풀 유지보수 스레드를 사용하지 않는 권장되는 방법은 Reap 시간을 0으로 설정하는 것이며, 이 경우 미사용 제한시간 및 유효 제한시간이 무시됩니다. 그러나 미사용 제한시간 및 유효 제한시간을 0으로 설정하면 풀 유지보수 스레드가 실행됩니다. 0이 아닌 제한시간 값으로 인해 제한시간이 초과되는 실제 연결 뿐만 아니라 사용된 풀(또는 공유 풀)에 있는 해당 연결이 버려집니다. 그 이유는 유휴 제한시간에 설정된 시간 간격보다 더 오래 보유되었기 때문입니다.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
단위 | 초 |
기본값 | 180 |
범위 | 0 - 최대 정수 |
미사용 제한시간
경과 시 사용되지 않거나 대기 중인 연결이 버려지는 간격(초)을 지정합니다.
최적의 성능을 위해서는 미사용 제한시간 값을 Reap 제한시간 값보다 높게 설정하십시오. 사용되지 않은 실제 연결은 현재 연결 수가 최소 연결 수 설정을 초과하는 경우에만 버려집니다. 예를 들어, 미사용 제한시간 값을 120으로 설정하고 풀 유지보수 스레드가 사용되는 경우(Reap 시간이 0이 아님), 2분 동안 사용되지 않은 채로 있는 모든 실제 연결이 버려집니다.
이 제한시간의 정확성 및 성능은 Reap 시간 값의 영향을 받습니다. 자세한 정보는 Reap 시간의 내용을 참조하십시오.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
단위 | 초 |
기본값 | 1800 |
범위 | 0 - 최대 정수 |
유효 제한시간
실제 연결이 버려지기 전의 간격(초)을 지정합니다.
유효 제한시간을 0으로 설정하면 활성 실제 연결이 풀에 무기한 남아 있을 수 있습니다. 최적의 성능을 위해서는 유효 제한시간 값을 Reap 제한시간 값보다 높게 설정하십시오.
예를 들어 유효 제한시간 값을 1200으로 설정하고 Reap 시간 값이 0이 아닌 경우, 1200초(20분) 동안 계속 존재하는 실제 연결은 풀에서 버려집니다. 유일한 예외는, 유효 제한시간에 도달할 때 연결이 트랜잭션에 관련되어 있는 경우, 트랜잭션이 완료되어 연결이 닫힐 때까지 애플리케이션 서버에서 연결을 버리지 않습니다.
이 제한시간의 정확성 및 성능은 Reap 시간 값의 영향을 받습니다. 자세한 정보는 Reap 시간의 내용을 참조하십시오.
정보 | 값 |
---|---|
데이터 유형 | 정수 |
단위 | 초 |
기본값 | 0 |
범위 | 0 - 최대 정수 |
제거 정책
시간이 경과된(stale) 연결 또는 치명적 연결 오류가 발견될 때 연결을 제거하는 방법을 지정합니다.
올바른 값은 EntirePool 및 FailingConnectionOnly입니다.
정보 | 값 |
---|---|
데이터 유형 | 문자열 |
기본값 | EntirePool |