애플리케이션 서버 튜닝
제품에는 엔드 투 엔드 e-business 애플리케이션의 사용자 정의 필요성을 지원하기 위해 균형있게 튜닝해야 하는 상호 관련된 컴포넌트가 있습니다.
이 태스크 정보
상호 연결된 컴포넌트의
이 그룹은 큐 네트워크로도 알려져 있습니다. 이 큐 네트워크가 전반적인 시스템 안정성을 유지하면서
최대 처리량을 달성하는 데 도움이 됩니다.
다음 단계는 애플리케이션 서버 성능을 향상시킬 수 있는 다양한 성능 튜닝 태스크를 설명합니다. 애플리케이션 서버 설정 중 임의의 설정을 구현하도록 선택할 수 있습니다. 다음 단계는 순서대로 수행할 수 있습니다.
프로시저
- 애플리케이션 서버의 성능 향상을 위한 시작점으로 applyPerfTuningTemplate.py를 실행하십시오.
python 기반 성능 튜닝 스크립트, applyPerfTuningTemplate.py를 해당 템플리트 파일 중 하나와 함께 사용하여 권장되는 성능 튜닝 설정을 적용할 수 있습니다. 스크립트 및 해당 템플리트 파일은 WAS_HOME/bin 디렉토리에 있습니다.
- 오브젝트 요청 브로커를 튜닝하십시오. 오브젝트 요청 브로커(ORB)는 IIOP(Internet InterORB Protocol)를 사용하여
클라이언트와 서버 간의 상호작용을 관리합니다. 네트워크 분산 환경에서
클라이언트 요청과 서버에서 수신된 응답을 지원합니다. 다음 매개변수를 사용하여 ORB를 튜닝할 수 있습니다.
- 오브젝트 요청 브로커 서비스 설정에 대한 정보에서 설명한 대로 참조에 의한 전달(com.ibm.CORBA.iiop.noLocalCopies)을 설정하십시오.
오브젝트 요청 브로커 서비스 설정에 대한 정보에서 설명한 대로 연결 캐시 최소(com.ibm.CORBA.MaxOpenConnections)를 설정하십시오.
스레드 풀 설정에 대한 주제에서 설명한 대로 최대 크기를 설정하십시오.
오브젝트 요청 브로커 사용자 정의 특성에 대한 정보에서 설명한 대로 com.ibm.CORBA.ServerSocketQueueDepth를 설정하십시오.
- 오브젝트 요청 브로커 사용자 정의 특성에 대한 정보에서 설명한 대로 com.ibm.CORBA.FragmentSize를 설정하십시오.
이들 매개변수를 사용한 ORB 튜닝에 대한 팁은 오브젝트 요청 브로커 튜닝 지침사항에 대한 정보를 참조하십시오.
- XML 구문 분석기 정의를 튜닝하십시오.
- 설명: ${app_server_root}/jre/lib 디렉토리의 jaxp.properties 및 xerces.properties 파일에 XML 구문 분석기 정의를 추가하여 서버 시작을 용이하게 합니다. XMLParserConfiguration 값은 새 Xerces 버전이 제공될 때 변경될 수 있습니다.
- 보기 및 설정 방법: 두 파일 모두에 다음 행을 삽입하십시오.
또한 JDK 설치와 함께 제공된 jre/lib/jaxp.properties 및 jre/lib/xerces.properties 파일을 참조할 수도 있습니다. 이 샘플 파일에는 항상 권장 설정이 포함되어 있습니다.javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl javax.xml.parsers.DocumentBuildFactory=org.apache.xerces.jaxp. DocumentBuilderFactoryImpl org.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers. XIncludeAwareParserConfiguration
- 기본값: 없음
- 권장값: None
- 동적 캐시 서비스를 튜닝하십시오.
동적 캐시 서비스를 사용하면 성능이 개선될 수 있습니다. 동적 캐시 서비스 사용 및 이 서비스가 애플리케이션 서버 성능에 영향을 미치는 방식에 대한 정보는 성능 향상을 위해 동적 캐시 서비스 사용 정보를 참조하십시오.
웹 컨테이너를 튜닝하십시오. 제품 웹 컨테이너는 서블릿, JavaServer Pages 및 웹 서비스에 대한 모든 HTTP 요청을 관리합니다. 요청은 전송 체인을 통해 웹 컨테이너로 들어갑니다. 전송 체인은 웹 컨테이너의 성능에 중요한 튜닝 매개변수를 정의합니다. 제품이 HTTP 요청을 위해 청취하는 각 TCP 포트에 대한 전송 체인이 있습니다. 예를 들어, 기본 HTTP 포트 9080은 웹 컨테이너 인바운드 채널 체인에서 정의됩니다. 다음 매개변수를 사용하여 웹 컨테이너를 튜닝하십시오.
- HTTP 요청은 서버 스레드 풀에 의해 처리됩니다. 최적
성능을 위해 웹 컨테이너에 대한 최소 및 최대 스레드 풀 크기를
구성할 수 있습니다. 일반적으로 서버 CPU별로 5에서 10개의 스레드가 최대 처리량을
제공합니다. 구성된 스레드의 수가 제품에서 동시에 처리할 수 있는
요청 수를 나타내지는 않습니다. 요청은
모든 스레드가 사용 중일 때 전송 체인의 큐에서 기다립니다. 스레드 풀 설정을 지정하려면 다음을 수행하십시오.
- 서버 > 서버 유형 > WebSphere 애플리케이션 서버 >server_name 웹 컨테이너 설정 > Web container > 웹 컨테이너 전송 체인을 클릭하십시오.
- 요청 제공을 위한 일반 인바운드 체인을 선택하십시오. 이 체인은 일반적으로 WCInboundDefault라고 불리며 포트 9080에서 청취합니다.
- TCP 인바운드 채널(TCP_2)을 클릭하십시오.
- 관련 항목 아래에서 스레드 풀을 설정하십시오.
- WebContainer를 선택하십시오.
- 최소 크기 및 최대 크기에 대한 값을 입력하십시오.
- HTTP 1.1 프로토콜은 HTTP 클라이언트와 서버 사이의 TCP 연결이 요청 사이에
계속 열려 있도록 하는 활성화 상태 지속 기능을 제공합니다. 기본적으로 제품은
여러 요청 또는 제한시간 후에 제공된 클라이언트 연결을 닫습니다.
연결은 닫힌 후
클라이언트가 다른 요청을 발행하면 다시 작성됩니다. 연결을 일찍 닫으면
성능이 떨어질 수 있습니다. 지속적 요청(활성화 상태 지속)의 최대 수를 입력하여
단일 HTTP 연결에 허용된 요청 수를 지정하십시오. 지속적 제한시간에 대한 값을 입력하여 소켓이 요청 사이에서
유휴 상태에 있도록 HTTP 전송 채널이 허용하는 기간(초 단위)을 지정하십시오. 최대 지속적 요청 및 지속적 제한시간에 대한
값을 지정하려면 다음을 수행하십시오.
- 서버 > 서버 유형 > WebSphere 애플리케이션 서버 >server_name을 클릭하십시오. 그런 다음 컨테이너 설정 섹션에서 웹 컨테이너 > 웹 컨테이너 전송 체인을 클릭하십시오.
- 요청 제공을 위한 일반 인바운드 체인을 선택하십시오. 이 체인은 일반적으로 WCInboundDefault라고 불리며 포트 9080에서 청취합니다.
- HTTP 인바운드 채널(HTTP_2)을 클릭하십시오.
- 최대 지속적 요청 및 지속적 제한시간에 대한 값을 입력하십시오.
- HTTP 요청은 서버 스레드 풀에 의해 처리됩니다. 최적
성능을 위해 웹 컨테이너에 대한 최소 및 최대 스레드 풀 크기를
구성할 수 있습니다. 일반적으로 서버 CPU별로 5에서 10개의 스레드가 최대 처리량을
제공합니다. 구성된 스레드의 수가 제품에서 동시에 처리할 수 있는
요청 수를 나타내지는 않습니다. 요청은
모든 스레드가 사용 중일 때 전송 체인의 큐에서 기다립니다. 스레드 풀 설정을 지정하려면 다음을 수행하십시오.
- EJB 컨테이너를 튜닝하십시오. EJB(Enterprise JavaBeans)
컨테이너는 애플리케이션 서버 작성 시 자동으로 작성됩니다.
EJB 컨테이너가 배치된 후, 다음 매개변수를 사용하여 성능을 향상시키도록 조정할 수 있습니다.
- 정리 간격 및 캐시 크기를 설정하십시오. 자세한 정보는 EJB 캐시 설정의 주제를 참조하십시오.
- CMP 엔터프라이즈 Bean을 여러 개의 엔터프라이즈 Bean 모듈로 구분하십시오. 자세한 정보는 "EJB 모듈 어셈블링" 주제를 참조하십시오.
자세한 정보는 EJB 메소드 호출 큐잉에 대한 주제를 참조하십시오.
- 세션 관리를 튜닝하십시오.
세션 관리의 설치된 기본 설정은 성능에 최적으로 설정된 것입니다.
- 데이터 소스 및 연관 연결 풀을 튜닝하십시오. 데이터 소스는 데이터베이스의 데이터에 액세스하는 데 사용되며,
해당 데이터베이스에 대한 연결 풀과 연관됩니다.
- 연결 풀 내의 실제 접속 수가 성능을 변경시킬 수 있는 방법을 살펴보려면 연결 풀에 대한 주제를 검토하십시오.
성능에 가장 큰 영향을 미치는 데이터 소스 및 연결 풀 특성에 대한 참조로서 데이터 액세스 튜닝 매개변수의 주제를 참조하십시오.
- URL 호출 캐시를 튜닝하십시오.
각 JSP(JavaServer Page)는 고유한 URL입니다. 많이 사용되는 고유한 URL이 50개 이상인 경우 invocationCacheSize JVM 사용자 정의 특성에 지정된 값을 늘리십시오. 이 특성은 URL 호출 캐시의 크기를 제어합니다.
복구 로그 서비스가 애플리케이션 컴포넌트가 사용 중인 로그 스트림을 압축하는 빈도를 변경하십시오.
트랜잭션 서비스가 로그 스트림을 사용하는 유일한 애플리케이션 컴포넌트인 경우 기본값보다 큰 값으로 트랜잭션 서비스 RLS_LOGSTREAM_COMPRESS_INTERVAL 사용자 정의 특성을 설정할 수 있습니다. 모든 컴포넌트가 로그 스트림을 사용하도록 구성된 경우, 이 특성을 0으로 설정하여 이 함수를 사용 불가능하게 하십시오.
하위 주제
사전 정의된 튜닝 템플리트를 사용하여 애플리케이션 서버 튜닝
해당되는 템플리트 파일과 함께 Python 기반의 성능 튜닝 스크립트 applyPerfTuning.py를 사용하여 사전 정의된 성능 튜닝 템플리트를 애플리케이션 서버나 클러스터에 적용할 수 있습니다. 특성 기반 템플리트 파일은 WAS_HOME\scriptLibraries\perfTuning\V70 디렉토리에 있습니다. 스크립트 파일의 경로는 wsadmin -f <WAS_HOME>\bin\applyPerfTuningTemplate.py입니다.웹 서비스 클라이언트와 웹 컨테이너의 최적화된 통신
성능을 개선하기 위해, 동일한 애플리케이션 서버 프로세스에 있는 웹 서비스 클라이언트 애플리케이션과 웹 컨테이너 간에 최적화된 통신 경로가 있습니다. 일반적으로 네트워크 연결을 사용하여 웹 컨테이너에 전송되는 웹 서비스의 요청은 최적화된 로컬 경로를 사용하여 직접 웹 컨테이너로 전달됩니다. 웹 서비스 클라이언트 애플리케이션과 웹 컨테이너가 동일한 프로세스에서 실행 중이기 때문에 로컬 경로를 사용할 수 있습니다.


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