Liberty 프로파일 튜닝
Liberty 프로파일의 매개변수 및 속성을 조정할 수 있습니다.
이 태스크 정보
프로시저
- JVM을 튜닝하십시오. JVM 튜닝은 개발 환경을 구성하는지 또는 프로덕션 환경을 구성하는지 여부에 관계 없이 가장 중요한 튜닝 단계입니다. Liberty 프로파일을 위해 JVM을 조정하는 경우 ${server.config.dir} 디렉토리의 jvm.options 파일을 사용하십시오. 사용하려는 각 JVM 인수를 행당 한 옵션씩 지정할 수 있습니다. 자세한 정보는 Liberty 프로파일 환경 사용자 정의의 내용을 참조하십시오.jvm.options 파일의 예는 다음과 같습니다.
-Xms50m -Xmx256m
개발 환경에서는 좀 더 빠른 서버 설정에 관심을 둘 수 있으므로, 최소 힙 크기는 작은 값으로 설정하고 최대 힙 크기는 애플리케이션에 필요한 값으로 설정하십시오. 프로덕션 환경에서 최소 힙 크기와 최대 힙 크기를 동일한 값으로 설정하면 힙 확장과 축소가 없어지므로 최상의 성능을 제공할 수 있습니다.
- 전송 채널 서비스를 튜닝하십시오. 전송 채널 서비스는 클라이언트 연결, HTTP에 대한 I/O 처리, 스레드 풀, 연결 풀을 관리합니다. Liberty 프로파일의 애플리케이션에는, 런타임 성능, 확장성 또는 둘 다를 개선하는 데 사용할 수 있는 여러 요소에 다음 속성을 사용할 수 있습니다. 이들 각 속성에 대해서는 server.xml 파일의 구성 요소의 내용을 참조하십시오.
- httpOptions의 maxKeepAliveRequests
- 지속적 연결이 사용되는 경우 이 옵션은 단일 HTTP 연결에 허용되는 지속적 요청의 최대 수를 지정합니다.
-1 값은 무제한을 의미합니다. 이 옵션은 새로운 연결을 구축하는 데 비용이 많이 드는 상황에서 사용되는 SSL 연결과,
낮은 지연 또는 높은 처리량 애플리케이션을 지원합니다. 다음은 server.xml 파일에서 이 옵션을 코딩하는 방법의 예입니다.
<httpOptions maxKeepAliveRequests="-1" />
- connectionManager의 maxPoolSize
- 이 옵션은 연결 풀에 대한 최대 실제 접속 수를 지정합니다.
기본값은 50입니다. 최적 설정은 애플리케이션 특성에 따라 다릅니다.
모든 스레드가 데이터베이스에 대한 연결을 획득하는 애플리케이션의 경우
coreThreads 속성에 대한 1:1 맵핑으로 시작하십시오. 다음은 server.xml 파일에서 이 옵션을 코딩하는 방법의 예입니다.
<connectionManager ... maxPoolSize="40" />
- connectionManager의 purgePolicy
- 이 옵션은 시간이 경과된(stale) 연결이 풀에서 발견되는 경우 영구 삭제할 연결을 지정합니다.
기본값은 전체 풀입니다. 실패한 연결만 제거하는 것이 좋습니다. 다음은 server.xml 파일에서 이 옵션을 코딩하는 방법의 예입니다.
<connectionManager ... purgePolicy="FailingConnectionOnly" />
- connectionManager의 numConnectionsPerThreadLocal
- 이 옵션은 각 실행기 스레드의 캐시와 데이터베이스 연결 수를 지정합니다. 이 설정은 각 스레드에 지정되는 데이터베이스의 연결 수를 예약하여 대형의 멀티 코어(8+) 시스템에서 상당한 개선을 보일 수 있습니다.
- 연결에 대해 스레드 로컬 스토리지를 사용하면 멀티 스레드 시스템의 애플리케이션에서 성능이 향상될 수 있습니다.
numConnectionsPerThreadLocal을 1
이상으로 설정하면 이러한 스레드당 연결이 스레드 로컬 스토리지에 저장됩니다.
numConnectionsPerThreadLocal을 사용하는 경우에는
다음 두 개의 기타 값을 고려하십시오.
- 애플리케이션 스레드의 수
- 연결 풀 최대 연결 수
<connectionManager ... numConnectionsPerThreadLocal="1" />
- dataSource의 statementCacheSize
- 이 옵션은 연결당 준비된 캐시 명령의 최대 수를 지정합니다.
이 옵션을 설정하려면 다음 전제조건을 완료하십시오.
- 모든 고유한 준비된 명령문에 대해 애플리케이션 코드(또는 데이터베이스나 데이터베이스 드라이버를 통해 수집하는 SQL 추적)를 검토하십시오.
- 캐시 크기가 명령문 수보다 큰지 확인하십시오.
<dataSource ... statementCacheSize="60" >
- dataSource의 isolationLevel
- 데이터 소스 격리 레벨은 데이터 무결성 정도와 동시성을 지정하고 이는 다시
데이터베이스 잠금 레벨을 제어합니다.
최상의 성능(최저의 무결성)에서 최악의 성능(최고의 무결성) 순으로 다음과 같은 네 개의 옵션이 제공됩니다.
- TRANSACTION_READ_UNCOMMITTED
- 더티 읽기, 반복 불가능 읽기 및 팬텀 읽기가 발생할 수 있습니다.
- TRANSACTION_READ_COMMITTED
- 더티 읽기가 금지되고 반복 불가능 읽기 및 팬텀 읽기가 발생할 수 있습니다.
- TRANSACTION_REPEATABLE_READ
- 더티 읽기 및 반복 불가능 읽기가 금지되고 팬텀 읽기가 발생할 수 있습니다.
- TRANSACTION_SERIALIZABLE
- 더티 읽기, 반복 불가능 읽기 및 팬텀 읽기가 금지됩니다.
<dataSource ... isolationLevel="TRANSACTION_READ_COMMITTED">
- 서블릿의 응답 시간을 줄이십시오.
서블릿의 응답 시간을 줄이려면 다음 속성을 server.xml 파일에 추가하십시오.
<webContainer skipMetaInfResourcesProcessing="true"/>
- 유휴 서버 CPU 시간 감축
유휴 서버 CPU 시간을 줄이려면 server.xml 파일에 다음 속성을 추가하십시오.
<applicationMonitor dropinsEnabled="false" updateTrigger="disabled"/> <config updateTrigger="disabled"/>
속성이 추가될 때 서버는 더 이상 구성 또는 애플리케이션 업데이트를 모니터하지 않습니다.
구성 요소 설명에 대한 자세한 정보는 server.xml 파일의 구성 요소의 내용을 참조하십시오.
하위 주제
- 보안 애플리케이션을 위해 Liberty 프로파일 조정
보안 애플리케이션의 성능을 최적화하도록 Liberty 프로파일을 조정할 수 있습니다. Liberty 프로파일에서 연합 LDAP 저장소 튜닝
server.xml 파일에서 캐시 및 컨텍스트 풀 요소를 모니터 및 조정하여 연합 LDAP 저장소의 성능을 개선할 수 있습니다.

Information Center 이용 약관 | 피드백

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_tun
파일 이름: twlp_tun.html