WebSphere Application Server 데이터 소스 특성

이 페이지에서 Application Server에 고급 데이터 소스 특성을 설정할 수 있습니다. 이러한 특성은 Application Server 내에서 연결을 사용자 정의하기 위해 Application Server가 데이터 소스에 적용하는 서비스를 활성화하고 구성합니다. 이러한 특성은 데이터베이스 내의 연결에 영향을 주지 않습니다.

이 관리 콘솔 페이지에 액세스하려면 다음 경로 중 하나를 완료하십시오.
명령문 캐시 크기

연결별로 캐시될 수 있는 명령문의 수를 지정합니다. Application Server는 해당 명령문을 닫은 후 명령문을 캐시합니다.

WebSphere® Application Server 데이터 소스는 활성화된 연결에서 사용되지 않는 해당 명령문을 캐시하여 준비된 명령문 및 호출 가능한 명령문의 처리를 최적화합니다. 두 명령문은 모두 응용프로그램과 데이터 스토어 간 트랜잭션의 성능을 최대화하는 데 도움이 됩니다.
  • 준비된 명령문은 PreparedStatement 오브젝트에 저장된 사전 컴파일 SQL 문입니다. Application Server는 이 오브젝트를 사용하여 런타임이 결정하는 값을 사용하여 응용프로그램 런타임에서 필요로 하는 대로 SQL 문을 여러 번 실행합니다.
  • 호출 가능한 명령문은 스토어드 프로시저(타스크를 수행하여 결과를 리턴하는 사전 컴파일된 일련의 명령문)에 대한 호출을 포함하는 SQL 문입니다. 명령문은 CallableStatement 오브젝트에 저장됩니다. Application Server는 이 오브젝트를 사용하여 런타임이 결정하는 값을 사용하여 응용프로그램 런타임에서 필요로 하는 대로 스토어드 프로시저를 여러 번 실행합니다.

명령문 캐시가 충분히 크지 않은 경우, 새 항목을 위한 공간을 만들기 위해 유용한 항목을 버립니다. 임의로 캐시를 버리는 경우를 피하기 위해 캐시 크기의 최대값을 결정하려면 특정 서버에서 이 데이터 소스를 사용하는 응용프로그램마다 고유하게 준비된 명령문의 수 및 호출 가능한 명령문(SQL 문자열, 동시성 및 화면이동 유형으로 판별됨)을 추가하십시오. 이 값은 서버 자체의 수명이 다하지 않는 한 특정 연결에서 캐시로 처리가 가능한 명령문의 최대 수입니다. 캐시 크기를 이 값으로 설정하면 캐시 버리기가 없습니다. 일반적으로 명령문 수가 많은 응용프로그램에는 큰 캐시를 구성하십시오.

[AIX Solaris HP-UX Linux Windows] [iSeries] 또한 Tivoli® Performance Viewer를 사용하여 캐시 버리기를 최소화할 수도 있습니다. 들어오는 클라이언트 요청 수를 나타내는 표준 워크로드를 사용하고 수정된 수의 반복을 사용하고 구성 설정의 표준 세트를 사용하십시오.
주: 명령문 캐시가 클수록 많은 시스템 자원이 지연됩니다. 그러므로 숫자를 너무 높게 설정하면, 시스템이 여러 개의 준비된 명령문을 열 수 없기 때문에 자원이 부족할 수 있습니다.

Application Server가 특정 명령문을 캐시하지 않도록 하려면 명령문의 풀가능성 힌트를 false로 구성하십시오. 풀가능성 힌트가 false로 설정되면 Application Server가 명령문을 캐시하지 않습니다. 응용프로그램이 런타임 시에 명령문 풀가능성 힌트를 지정합니다.

테스트 응용프로그램에서, 명령문 캐시를 조정하면 처리량이 10% - 20% 개선됩니다. 하지만, 잠재적인 자원 한계로 인하여 이런 작업이 항상 가능하지 않을 수도 있습니다.

데이터 유형 정수
기본값 기본값은 데이터베이스에 따라 다릅니다. 일반적으로, 이 값은 10입니다. 각각의 최신 수정사항이 없는 Informix® 버전 7.3, 9.2, 9.3 및 9.4의 경우, 기본값은 0이어야 합니다. 기본값 0은 캐시문이 없음을 의미합니다.
멀티스레드 액세스 발견 사용 가능

이 옵션을 선택하면, Application Server는 다중 스레드에서 액세스 존재를 발견합니다.

데이터베이스 재인증 사용

Application Server의 연결 풀(연결 풀 검색 기준에 사용자 이름 및 암호가 포함되지 않음)에서 검색된 정확한 일치가 존재할 수 없음을 표시합니다. 대신, DataStoreHelper 클래스의 doConnectionSetupPerTransaction()에서 연결 재인증이 수행됩니다. Application Server는 런타임 시 연결 재인증 구현을 제공하지 않습니다. 따라서 이 상자를 선택하면, DataStoreHelper 클래스를 확장하여 재인증이 발생하는 doConnectionSetupPerTransaction() 메소드의 구현을 제공해야 합니다. 이 프로세스를 완료하지 않으면, 사용 불가능한 연결을 리턴할 수 있습니다. 자세한 정보는 com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction 메소드에 대한 API 문서를 참조하십시오.

연결 재인증을 통해 서로 다른 사용자 이름 및 암호를 사용하여 연결을 자주 요청하는 응용프로그램의 경우 특히, 연결을 열고 닫는 오버헤드를 감소시켜 성능을 향상시킬 수 있습니다.
문제점 방지: 맵핑 구성 별명에 TrustedConnectionMapping을 선택하면 데이터베이스 재인증을 사용할 수 없습니다.gotcha
JMS 1단계 최적화 지원 사용

이 옵션을 선택하면, Application Server를 사용하여 JMS(Java™ Messaging Service)가 이 데이터 소스에서 최적화된 연결을 가져올 수 있습니다. 이 특성은 JDBC(Java Database Connectivity) 응용프로그램이 CMP(Container-Managed Persistence) 응용프로그램과 연결을 공유하지 않도록 합니다.

캐시 핸들 관리

컨테이너가 트랜잭션과 메소드의 경계에 걸쳐 응용프로그램이 활성 상태를 유지하는 연결 핸들인 캐시 핸들을 추적하는지 여부를 지정합니다. 이 특성을 사용하면 연결 문제점을 디버그할 수 있지만 추적 처리로 실행 시간 중에 과도한 성능 오버헤드가 발생할 수 있습니다.

관리 콘솔에서 캐시 핸들 관리 특성이 선택되어 있고 이 특성을 선택 취소하는 경우, 버전 7.0 Application Server에 있는 자원에는 필드가 더 이상 표시되지 않습니다. 이 필드는 resources.xml 파일에서 manageCachedHandles 특성이 true로 설정된 경우에만 표시됩니다. 필드를 사용할 수 있도록 하려면 resources.xml 파일에서 manageCachedHandles 항목의 값을 false에서 true로 변경하거나 wsadmin 도구에서 다음과 같은 Jython 명령을 입력하십시오.
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
지원된 구성: 버전 6.x Application Server에서 실행 되는 모든 자원의 경우 캐시 핸들 관리 특성이 항상 표시됩니다. 예를 들어, 노드가 버전 6.1에 있는 경우 resources.xml 파일의 항목은 관리 콘솔에 필드가 표시되는 방식에 영향을 주지 않습니다.sptcfg
디버깅 문제점의 대체 방법으로 멀티스레드 및 교차 컴포넌트 진단 경보를 사용하여 JCA(Java Connectivity Architecture) 프로그래밍 모델에서 위반사항을 발견합니다. 이러한 경보를 사용하려면 서버 > 응용프로그램 서버 > application_server > 성능 > 성능 및 진단 어드바이저 구성 > 성능 및 진단 권고 구성 패널에서 해당 옵션을 선택하십시오. 이러한 경보는 연결 관리자가 캐시 핸들을 관리하고, 연결 조건을 발견하고, 경보를 전송하도록 강제 실행합니다.
주: 이러한 경보를 활성화하려면 서버 > 응용프로그램 서버 > application_server > 성능 > 성능 및 진단 어드바이저 구성 패널에서 성능 및 진단 어드바이저 프레임워크(런타임 성능 어드바이저) 사용도 선택해야 합니다.
로그 누락 트랜잭션 컨텍스트

응용프로그램이 트랜잭션 컨텍스트 없이 연결을 확보할 때 컨테이너가 활동 로그에 항목을 발행하는지 여부를 지정합니다. 이는 Java EE(Java Platform, Enterprise Edition) 프로그래밍 모델 연결 요구사항에 대한 예외입니다.

비트랜잭션 데이터 소스
Application Server가 이 데이터소스의 연결을 글로벌 또는 로컬 트랜잭션에 등록하지 않도록 지정합니다. 응용프로그램이 연결에서 로컬 트랜잭션을 시작하려는 경우, 연결에서 setAutoCommit(false)를 명시적으로 호출해야 하며 시작한 트랜잭션을 커미트하거나 롤백해야 합니다.
문제점 방지: 이 특성을 true로 설정하는 경우는 드물지만 JPA(Java Persistence API)에서는 JTA 및 비JTA 데이터소스 둘 다 필요합니다.gotcha
WebSphere Application Server 예외 검사 모델 사용

Application Server가 데이터 저장소 헬퍼에 정의된 오류 맵핑 기능을 사용하여 오류를 식별하도록 지정합니다. 그러면 Application Server가 JDBC 드라이브에서 발생된 예외를 데이터 저장소 헬퍼의 오류 맵에 정의된 예외로 바꾸지 않습니다.

WebSphere Application Server 예외 맵핑 모델 사용

Application Server가 데이터 저장소 헬퍼에 정의된 오류 맵핑 기능을 사용하여 오류를 식별하도록 지정합니다. 그러면 Application Server가 JDBC 드라이브에서 발생된 예외를 데이터 저장소 헬퍼의 오류 맵에 정의된 예외로 바꿉니다.

지원된 구성: 이 오류 감지 모델은 JDBC 버전 3.0 이상에서 작동됩니다.sptcfg
새 연결 유효성 검증

연결 관리자가 데이터베이스에 새로 작성된 연결을 테스트할지 지정합니다.

재시도 횟수

첫 번째 사전 테스트 조작이 실패한 후 데이터베이스에 대한 초기 연결을 재시도할 횟수를 지정합니다.

재시도 간격

새 연결 유효성 검증을 선택하면, 이 옵션은 초기 시도에 실패하는 경우 Application Server가 연결을 재시도하기 전에 대기하는 시간(초)을 지정합니다.

기존 풀 연결 유효성 검증

연결 관리자가 풀 연결을 응용프로그램에 리턴하기 전에 풀 연결의 유효성을 테스트할지 지정합니다.

재시도 간격

기존 풀 연결 사전 테스트를 선택하면, 이 옵션은 연결을 유효성 검증하기 위해 JDBC 드라이버에 할당할 시간(초)을 지정합니다.

JDBC 드라이버에 의한 유효성 검증

Application Server가 JDBC 드라이버를 사용하여 연결의 유효성을 검증하도록 지정합니다. 이 옵션을 사용하려면 JDBC 제공자가 JDBC 4.0 이상을 지원해야 합니다.

문제점 방지: Oracle 데이터소스의 경우, JDBC 드라이버를 사용한 유효성 검증은 validateNewConnectionTimeout 특성이 WebSphere Application Server 데이터소스 특성의 사용자 정의 특성에 추가된 후에만 관리 콘솔에 나타납니다. validateNewConnectionTimeout 특성은 JDBC 4.0 드라이버에 사용되며 관리 콘솔을 사용하여 지정할 수 있습니다.gotcha
제한시간
데이터베이스와의 연결(새 연결 또는 Application Server가 풀한 연결) 테스트에 제한시간(초)을 지정합니다. 유효성을 검증하기 전에 제한시간이 만기되면 연결을 사용할 수 없는 것으로 간주됩니다. 여러 번의 재시도가 구성된 경우 제한시간의 전체 값이 각 재시도에 적용됩니다. 0 값은 JDBC 드라이버가 유효성 검증을 시도하는 데 특별한 제한시간을 지정하지 않음을 나타냅니다.
지원된 구성: 이 옵션은 JDBC 4.0 드라이버에서만 사용 가능합니다. sptcfg
SQL 문자열에 의한 유효성 검증(더 이상 사용되지 않음)

Application Server가 연결을 테스트하기 위해 데이터베이스에 전송하는 SQL 문을 지정합니다. 성능에 영향을 거의 미치지 않는 조회를 사용하십시오.

이기종 풀링을 사용하여 가져오기/사용/닫기/연결 패턴 최적화

Application Server가 가져오기/사용/닫기/연결 패턴을 사용하도록 지정합니다. 이렇게 하면 Application Server의 연결 풀링이 동일한 트랜잭션에 있는 연결을 공유할 수 있습니다. 이 최적화 패턴을 사용하면 연결 시 여러 연결 특성을 사용하더라도 트랜잭션에서 하나의 연결을 공유할 수 있습니다.

이기종 풀링 기능을 사용하면 다양한 사용자 정의 특성을 정의할 수 있도록 데이터소스를 확장하거나, 응용프로그램이 데이터소스의 비코어 특성을 대체할 수 있습니다.

지원된 구성: 이 필드는 DB2® 데이터 소스에만 사용할 수 있습니다.sptcfg
클라이언트 리라우트의 재시도 간격

자동 클라이언트 리라우트 재시도 간의 시간(초)을 지정합니다.

지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg
최대 클라이언트 리라우트 재시도 수

서버와의 1차 연결에 실패하는 경우 자동 클라이언트 리라우트 기능이 시도하는 연결 재시도의 최대 수를 지정합니다. 클라이언트 재라우트의 재시도 간격이 설정된 경우에만 특성이 사용됩니다.

지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg
대체 서버 이름
DB2 서버의 이름 또는 대체 서버 이름 목록을 지정합니다. 둘 이상의 대체 서버 이름이 지정되면, 이름은 쉼표로 구분해야 합니다. 예를 들어, 다음과 같습니다.
host1,host2
지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg
대체 포트 번호
DB2 서버의 포트 또는 대체 서버 포트 목록을 지정합니다. 둘 이상의 대체 서버 포트가 지정되면, 포트는 쉼표로 구분해야 합니다. 예를 들면, 다음과 같습니다.
5000,50001
지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg
클라이언트 리라우트 서버 목록 JNDI 이름

DB2 클라이언트 리라우트 서버 목록을 JNDI 네임스페이스에 바인드하는 데 사용되는 JNDI 이름을 지정합니다. 대체 서버 정보가 메모리에 없으면 DB2 데이터베이스 서버가 이 이름을 사용하여 대체 서버 이름 목록을 조회합니다. 유형 2 데이터 소스에는 이 옵션이 지원되지 않습니다.

지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg
JNDI에서 클라이언트 리라우트 목록 바인드 해제

연결 테스트에만 사용됩니다. true로 설정되면 연결 테스트가 실행된 후 클라이언트 리라우트 서버 목록 JNDI 이름이 JNDI 네임스페이스에서 바인드 해제됩니다.

지원된 구성: 이 필드는 DB2 데이터 소스에만 사용할 수 있습니다.sptcfg



표시된(온라인) 링크는 인터넷에 액세스해야 합니다.

관련 개념
관련 태스크
관련 참조
사용자 정의 특성 설정


파일 이름: udat_jdbcdatasorprops.html