매개변수 목록 조정
다음 긴급 목록에는 많은 애플리케이션에서 성능 및/또는 확장성이 입증된 권장사항이 나열됩니다.
- 하드웨어 및 소프트웨어 요구사항 검토
적절한 기능 및 성능을 위해서는 최소 하드웨어 및 소프트웨어 요구사항을 만족하는 것이 중요합니다. 하드웨어 및 소프트웨어 요구사항을 자세히 설명하는 IBM® WebSphere Application Server 지원되는 하드웨어, 소프트웨어 및 API 웹 사이트를 참조하십시오.
최신 Refresh Pack, 수정팩 및 권장되는 임시 수정사항 설치
권장되는 업데이트사항 목록은 지원 사이트에 있습니다.
- 하드웨어
구성 및 설정 확인
네트워크 연결이 최고 속도로 실행되는지 확인하십시오. 자세한 정보는 애플리케이션 사용 환경 튜닝을 참조하십시오.
네트워크 상호 연결 및 하드웨어 구성이 최고 성능을 위해 설정되었는지 확인하십시오.
운영 체제 조정
운영 체제 구성은 성능에 있어 중요한 역할을 합니다. 예를 들어, TCP/IP 매개변수와 같은 조정 요소가 사용자 애플리케이션에 필요할 수 있습니다.
IBM i 시스템 조정
운영 체제 구성은 성능에 있어 중요한 역할을 합니다. 예를 들어, TCP/IP 매개변수와 같은 조정 요소가 사용자 애플리케이션에 필요할 수 있습니다.
IBM Power Systems Performance Capabilities Reference IBM i 운영 체제 버전 7.2
- 최소
및 최대 JVM(Java™ Virtual Machine) 힙 크기 설정
많은 애플리케이션의 경우 기본값보다 힙 크기를 더 늘려야 최적의 성능을 나타낼 수 있습니다. 또한 애플리케이션의 특성에 따라 적절한 GC 정책을 선택하는 것이 좋습니다.
유형 4(또는 순수 Java) JDBC 드라이버 사용
일반적으로, WebSphere 인스턴스와 동일한 실제 머신에 데이터베이스가 존재하면 유형 2 JDBC 드라이브가 권장됩니다. 그러나 데이터베이스가 다른 티어에 존재하는 경우 유형 4 JDBC 드라이버가 기본 구현을 필요로 하지 않는 순수 Java이므로 가장 빠른 성능을 제공합니다. 이전 링크를 사용하여 데이터베이스 벤더 특정 요구사항의 목록을 보십시오. 이는 유형 4 JDBC 드라이버가 데이터베이스를 지원하는지 여부를 확인할 수 있습니다.
로컬 데이터 액세스에는 유형 2 JDBC 드라이버를 사용하고 원격 데이터 액세스에는 유형 4(또는 순수 Java) JDBC 드라이버 사용
일반적으로, 유형 2 JDBC 드라이브가 권장됩니다. 이전 링크를 사용하여 데이터베이스 벤더 특정 요구사항의 목록을 보십시오. 이는 유형 4 JDBC 드라이버가 데이터베이스를 지원하는지 여부를 확인할 수 있습니다.
WebSphere Application ServerJDBC 데이터 소스 및 연관 연결 풀 조정
JDBC 데이터 소스 구성은 성능에 중대한 영향을 줍니다. 예를 들어, 연결 풀 크기 및 준비된 명령문 캐시 크기는 처리되는 동시 요청 수와 애플리케이션 설계에 따라 조정되어야 합니다.
자세한 정보는 연결 풀링 주제를 참조하십시오.
참조에 의한 전달 옵션 사용 가능
매개변수를 스택에 복사하지 않으려면 참조에 의한 전달 옵션을 이용할 수 있는 애플리케이션을 사용하십시오.
- 트랜잭션
로그가 고속 디스크에 지정되어 있는지 확인
일부 애플리케이션은 트랜잭션 로그에 대한 고속 쓰기를 생성합니다. 고속 디스크 또는 디스크 배열에서 트랜잭션 로그를 찾으면 응답 시간을 줄일 수 있습니다.
- 조정 관련 컴포넌트(예: 데이터베이스)
많은 경우에 있어 일부 다른 컴포넌트(예: 데이터베이스)를 조정해야 전체 구성의 처리량이 증가합니다.
- 필요하지 않은 기능 사용 안함
예를 들어 애플리케이션에서 웹 서비스 주소 지정(WS-Addressing) 지원 기능을 사용하지 않을 때는 이 기능을 사용 안함으로 설정하여 성능을 향상시킬 수 있습니다.
주의: 애플리케이션이 올바르게 작동하기 위해 WS-Addressing MAP이 필요할 수도 있으므로 이 특성을 사용할 때는 주의하십시오. 이 특성을 설정하면 WS-Addressing 지원에 따라 웹 서비스 자동 트랜잭션, 웹 서비스 비즈니스 계약 및 웹 서비스 공고 스펙에 대한 WebSphere Application Server 지원을 사용할 수 없습니다.
WS-Addressing의 지원 기능을 사용 불가능으로 만들려면 JAX-RPC 애플리케이션에 대한 웹 서비스 주소 지정 지원 사용를 참조하십시오.
색인 조정
제품 프로그래밍 모델 및 런타임의 목표 중 하나는 애플리케이션 개발자가 애플리케이션을 작성 및 배치하는 작업을 최대한 단순화하는 것입니다. 경우에 따라 제품이 애플리케이션 개발과 관련된 많은 작업에 있어 애플리케이션 프로그래머의 수고를 덜어줄 수 있습니다. 예를 들어, 제품의 애플리케이션 코드는 원격 통신과 직접 관련은 없습니다. 단지 로컬 또는 원격 오브젝트를 찾고 메소드를 구동합니다. 따라서 이 애플리케이션 코드에서는 소켓 호출 또는 TCP/IP 프로그래밍을 직접 사용하지 않습니다.
이처럼 사용자가 수행할 작업과 해당 위치를 분리함으로써 애플리케이션 프로그래머의 작업 수고를 덜어줄 수 있습니다. 다른 고려사항은 일부 유형의 Bean에 대한 데이터 호출을 처리하지 않아도 된다는 것입니다(예: 사용자 인증 및 스레딩). 일반적으로 애플리케이션 코드에서 터치 소켓, RACF® 호출 또는 스레딩 관리로의 호출은 없습니다. 애플리케이션 프로그래머가 이 작업을 수행하지 않는다고 해서 작업 자체가 수행되지 않는다는 것은 아닙니다. 그보다는 DBA, 네트워크 관리자, 보안 관리자 및 성능 분석가의 작업이 많아짐을 의미합니다.
다음과 같이 처리해야 할 네 가지 성능 조정 계층이 있습니다.이 문서에서는 처음 세 가지 계층에 대해 개별 섹션으로 설명하고 네 번째 계층에 대해서는 간단히 설명하겠습니다. 애플리케이션 성능 조정에 대한 자세한 정보는 애플리케이션 클라이언트 사용.
서브시스템 조정
제품 성능을 최적화하기 위한 z/OS 서브시스템 조정과 관련된 단계는 다음을 포함합니다.
제품 런타임 조정
성능을 최적화하기 위한 제품 런타임 조정에 관련된 단계에는 다음을 검토하는 것이 포함됩니다.제품 구성 검토
첫 번째로 수행할 작업은 제품 구성을 검토하는 것입니다. 이를 수행하는 간단한 한 가지 방법은 SDSF에서 애플리케이션 제어 및 서버 영역을 찾는 것입니다. 각 서버가 시작되면 런타임은 작업 로그에 현재 구성 데이터를 인쇄합니다.
제품 내부 추적 팁
제품 추적은 문제점을 발견하고 진단하는 데 매우 유용합니다. 추적 옵션을 올바르게 설정함으로써 성능에 심각한 영향을 주지 않고 문제점을 발견하는 데 필요한 정보를 캡처할 수 있습니다.
- 필요 이상으로 많은 진단 데이터를 수집하고 있지 않은지 확인하십시오.
ras_trace_defaultTracingLevel 특성을 0 또는 1로 설정했는지와 ras_trace_basic 및 ras_trace_detail 특성이 설정되지 않았는지 확인하려면 추적 옵션을 확인해야 합니다.
보기 또는 설정 방법: 관리 콘솔에서:- 를 클릭하십시오.
- 구성 탭의 이름 필드에서 이러한 특성을 확인하고 값 필드에서 해당 설정을 검토하십시오.
- 이러한 특성 중 하나의 설정을 변경하려면 이름 필드에서 특성 이름을 클릭하고 값 필드에서 새 설정을 지정하십시오. 이 탭의 설명 필드에서 설정에 대해 설명할 수도 있습니다.
- 이러한 특성 중 하나를 추가하려면 새로 작성을 클릭하고 이름 필드에서 특성 이름을 지정하고 값 필드에서 특성 설정을 지정하십시오.
- ras_trace_defaultTracingLevel=1을 포함하여 추적 레벨을 사용하는 경우
ras_trace_outputLocation 특성을 BUFFER로 설정했는지 확인하십시오.
ras_trace_defaultTracingLevel 특성이 1로 설정된 경우 추적 로그 및 ERROR 로그에 예외가 기록됩니다.
- CTRACE에 추적하는 것이 가장 좋습니다.
ras_trace_defaultTracingLeve를 3으로 설정하고 SYSPRINT로 추적하는 경우 처리량이 거의 100% 감소합니다. 그러나 CTRACE로 추적하는 경우, 처리량이 15%만 감소할 수 있습니다.
- CTRACE에 추적하는 것이 가장 좋습니다.
- ras_trace_BufferCount 특성을 4로 설정하고
ras_trace_BufferSize 특성을 128로 설정하십시오.
이 설정은 추적 버퍼에 대해 512KB의 스토리지(허용되는 최소 스토리지 크기)를 예약하고 메모리 요구사항을 줄입니다.
- JRAS 추적을 사용 불가능하게 하십시오. JRAS 추적을 사용 불가능하게 하려면 JVM 특성 파일에서 가리키는 trace.dat 파일에서 다음 행을 찾으십시오.
두 행이 모두 disable로 설정되었는지 확인하거나 두 행을 모두 삭제하십시오.com.ibm.ejs.*=all=disable com.ibm.ws390.orb=all=disable
참고: ras_trace_outputLocation 특성에 대한 값이 지정된 경우 추적 중이지만, 이를 인식하지 못할 수 있습니다.
- 필요 이상으로 많은 진단 데이터를 수집하고 있지 않은지 확인하십시오.
실행 가능 프로그램 위치 팁
구성에서 다음에 검토해야 할 사항은 프로그램 코드의 위치입니다. IBM에서는 LPA에서 합리적인 수만큼 제품 코드를 설치하도록 권장합니다. 이를 통해 성능에 악영향을 줄 수 있는 불필요한 steplib를 제거할 수 있습니다. STEPLIB를 사용해야 하는 경우, 제어기의 STEPLIB DD와 하위(servant) 프로세스가 불필요한 라이브러리를 지정하지 않는지 확인하십시오. USS 공유 파일 시스템 성능 조정 고려사항은 z/OS용 USS(UNIX System Services) 성능 조정 팁의 내용을 참조하십시오.
대부분의 런타임을 LPA에 지정하지 않도록 선택한 경우, 로드가 증가함에 따라 프로세서 스토리지의 처리량이 증가할 수 있습니다. 제품은 최소한 세 개의 주소 공간을 시작하여 공유되지 않는 모든 코드는 하나가 아닌 세 개의 사본을 로드하게 됩니다. 로드가 증가하면 보다 많은 하위(servant)가 프로세서 스토리지에 추가 로드를 시작하고 제공하게 됩니다.
PATH에 필수 프로그램만 존재하며 PATH 순서가 자주 참조하는 프로그램을 앞 쪽에 배치하도록 PATH 문을 검토하십시오.
J2EE 애플리케이션 조정
J2EE 애플리케이션 성능 조정에 관련되는 단계는 다음과 같습니다.- 애플리케이션
설계 검토
애플리케이션 설계로 인한 많은 성능 문제점을 추적할 수 있습니다. 설계를 검토하여 이로 인해 성능 문제점이 발생하는지 여부를 판별하십시오.
- CDI 동작
변경
기본적으로 CDI 1.2는 모든 애플리케이션 아카이브를 스캔합니다. CDI 1.2을 사용하면 대형 애플리케이션의 경우 특히 시작 시간이 상당히 늘어납니다. 어노테이션의 내재적 아카이브 스캔을 사용하지 않으려면 시스템 특성, enableImplicitBeanArchives를 false로 설정하십시오. 아카이브에 beans.xml 파일이 포함되지 않은 경우 이 설정에서는 아카이브 스캔을 건너뜁니다.