연결 풀 설정

관리 콘솔의 연결 풀 등록 정보 패널에서 연결 풀의 다양한 등록 정보 값을 변경할 수 있습니다.

용도

연결 풀 설정 패널은 연결 풀에 대한 일반 등록 정보 값을 지정하는 데 사용됩니다. 제한시간, 제거 정책 및 연결 한계와 같은 등록 정보를 편집할 수 있습니다.

구성 탭

연결 제한시간

이 간격 후에 연결 요청이 시간종료되고 ConnectionWaitTimeoutException이 발생하는 간격(초 단위)을 지정합니다.

이 값은 사용 가능한 풀에 사용 가능한 연결이 없고 새 연결을 작성할 수 없을 때 연결 요청이 대기하는 초 수를 표시합니다. 이는 보통 특정 연결 풀 내의 최대 연결 수에 도달했기 때문입니다. 예를 들어, 연결 제한시간이 300으로 설정되고 최대 연결 수만큼 사용 중인 경우, 풀 관리자는 실제 연결이 사용 가능하게 될 때까지 300초 동안 기다립니다. 실제 연결이 해당 시간 안에 사용 가능하게 되지 않는 경우, 풀 관리자는 ConnectionWaitTimeout 예외를 시작합니다. 보통 getConnection() 메소드를 재시도하는 것은 바람직하지 않습니다. 오랜 대기 시간이 요구되는 경우 연결 제한시간 설정값을 늘려야 합니다. 응용프로그램에서 ConnectionWaitTimeout 예외가 발생할 경우, 관리자는 예상되는 응용프로그램의 연결 풀 사용을 검토하고 연결 풀 및 데이터베이스를 적절히 조정해야 합니다

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

최대 연결 수를 0으로 설정한 경우, 무한 개의 실제 연결이 가능하며 연결 제한시간 값은 무시됩니다.
데이터 유형 정수
단위
기본값 180
범위 0 - 최대 정수
최대 연결 수

이 풀에 작성할 수 있는 실제 연결의 최대 수를 지정합니다.

이는 백엔드 자원에 대한 실제 연결입니다. 일단 이 수에 도달하면, 새로운 실제 연결이 작성되지 않으며 요청자는 현재 사용 중인 실제 연결이 풀로 리턴될 때까지 대기하거나 ConnectionWaitTimeout 예외가 발생합니다

예를 들어, 최대 연결 수가 5로 설정되고 실제 연결 5건을 사용 중이면, 풀 관리자는 실제 연결이 사용 가능할 때까지 연결 제한시간으로 지정한 시간만큼 대기합니다.

최대 연결 수를 0으로 설정하면 연결 풀이 무제한 증가될 수 있습니다. 이렇게 하면 연결 제한시간 값을 무시해도 되는 부가적인 효과도 얻을 수 있습니다.

다중 독립형 Application Server가 동일 데이터소스를 사용할 경우, Application Server마다 하나의 풀이 있습니다. 복제가 사용되는 경우 복제본마다 하나의 데이터 풀이 존재합니다. 데이터 풀의 수는 데이터베이스 최대 연결 수를 구성할 때 중요합니다.

Tivoli Performance Viewer를 사용하여 풀에서 최적 연결 수를 찾을 수 있습니다. 동시 대기자 수가 0보다 크지만, CPU 로드가 100%에 가깝지 않으면 연결 풀 크기 증가를 고려하십시오. 사용률이 보통 워크로드보다 계속 낮으면, 풀의 연결 수를 줄이는 것이 좋습니다.
데이터 유형 정수
기본값 10
범위 0 - 최대 정수
최소 연결 수

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

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

예를 들어, 최소 연결 수를 3으로 설정하고 실제 연결을 하나 작성하면, 미사용 제한시간 스레드는 이 연결을 버리지 않습니다. 동일한 토큰에 의해 스레드는 최소 연결 수 설정에 도달하기 위해 두 개의 추가 실제 연결을 자동으로 작성하지 않습니다.
데이터 유형 정수
기본값 1
범위 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 - 최대 정수
제거 정책

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

유효값은 다음과 같습니다.
  • EntirePool: 풀의 모든 연결이 무효로 표시됩니다. 사용 중이 아닌 연결은 즉시 닫힙니다. 사용 중인 연결은 닫히고 해당 연결의 다음 조작 도중 무효 연결 예외가 발생합니다. 응용프로그램의 후속 getConnection() 요청이 있으면 데이터베이스 열기에 대한 새 연결이 작성됩니다. 이 제거 정책을 사용할 경우 풀의 일부 연결이 무효화 상태가 아닐 때 불필요하게 닫힐 수도 있습니다. 그러나 이는 거의 발생하지 않습니다. 대부분의 경우 제거 정책 EntirePool이 최상의 선택입니다.
  • FailingConnectionOnly: 무효 연결 예외를 유발한 연결만이 닫힙니다. 이 설정은 유효한 연결이 불필요하게 닫힐 가능성은 제거하나 좀 더 복잡한 응용프로그램 Perspective로부터 복구됩니다. 현재 실패한 연결만 닫히므로, 응용프로그램의 다음 getConnection() 요청이 무효화 상태인 풀에서 연결을 리턴할 수 있고, 이는 더 많은 무효 연결 예외 결과를 발생시킵니다. 연결 사전 테스트 기능은 응용프로그램을 유효하지 않은 풀 연결로부터 고립시키려고 시도합니다. 데이터베이스와 같은 백엔드 자원이 정지되면, 유효하지 않은 풀 연결이 사용 가능한 풀에 있을 수 있습니다. 특히 제거 정책이 failingConnectionOnly인 경우에 해당합니다. 이 경우 실패하는 연결이 풀에서 제거됩니다. 실패에 따라 풀에 있는 나머지 연결도 유효하지 않을 수 있습니다.
데이터 유형 문자열
기본값 EntirePool

이용약관 |

최종 갱신: 2006년 4월 13일

(c) Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org 웹 사이트 참조)