EJB 메소드 호출 큐잉

엔터프라이즈 Bean에 대한 메소드 호출은 클라이언트가 메소드 호출을 작성하는 원격 클라이언트의 경우에만 큐에 들어 갑니다. 원격 클라이언트의 예제로는 엔터프라이즈 Bean과는 다른 JVM(Java Virtual Machine)(다른 주소 공간)에서 실행 중인 EJB(Enterprise JavaBeans) 클라이언트가 있습니다. 대조적으로, EJB 클라이언트(서블릿 또는 다른 엔터프라이즈 Bean)가 EJB 메소드를 실행하는 동일한 JVM 및 EJB 클라이언트와 동일한 실행 스레드에 설치되는 경우 큐 처리가 발생하지 않습니다.

원격 엔터프라이즈 Bean은 RMI-IIOP(Remote Method Invocation over Internet Inter-ORB Protocol)를 사용하여 통신합니다. RMI-IIOP를 통해 시작되는 메소드 호출은 서버측 ORB(Object Request Broker)에 의해 처리됩니다. 스레드 풀은 수신되는 요청에 대한 큐로 작동합니다. 그러나 원격 메소드 요청이 발행되고 스레드 풀에 사용 가능한 스레드가 없는 경우, 새로운 스레드가 작성됩니다. 메소드 요청이 완료되면 스레드는 영구 삭제됩니다. 따라서 원격 메소드 요청을 처리하는 데 ORB가 사용되면 EJB 컨테이너는 바운드되지 않은 스레드 사용으로 인해 열린 큐 또는 처리완료된 큐가 됩니다.

[AIX Solaris HP-UX Linux Windows][IBM i]다음 그림은 엔터프라이즈 Bean의 두 가지 큐 처리 옵션을 보여줍니다.

엔터프라이즈 Bean 큐 처리 옵션

[z/OS]다음 그림은 엔터프라이즈 Bean의 두 가지 큐 처리 옵션을 보여줍니다.

엔터프라이즈 Bean 큐 처리 옵션

[AIX Solaris HP-UX Linux Windows]다음은 엔터프라이즈 Bean을 큐 처리하기 위한 두 가지 팁입니다.
  • EJB 클라이언트의 호출 패턴을 분석하십시오.

    스레드 풀을 구성할 때 EJB 클라이언트의 호출 패턴을 이해하는 것이 중요합니다. 서블릿이 원격 엔터프라이즈 Bean에 대해 소수의 호출을 수행하며 각 메소드 호출이 상대적으로 빠른 경우, ORB 스레드 풀의 스레드 수를 웹 컨테이너 스레드 풀 크기 값보다 작은 값으로 설정하십시오.

    활동기간이 짧은 EJB 호출 및 활동기간이 긴 EJB 호출

    ORB 스레드 풀 값의 증가 정도는 엔터프라이즈 Bean을 호출하는 동시 서블릿(클라이언트) 수와 각 메소드 호출의 지속 기간의 함수입니다. 메소드 호출이 길거나 애플리케이션이 ORB에서 많은 시간을 소모하는 경우, ORB 스레드 풀 크기를 웹 컨테이너 크기와 같게 만드십시오. 서블릿이 ORB에 대해 수명이 짧거나 빠른 호출을 작성하는 경우, 서블릿이 잠재적으로 같은 ORB 스레드를 다시 사용할 수 있습니다. 이 경우, ORB 스레드 풀은 작아질 수 있습니다(웹 컨테이너의 스레드 풀 크기 설정의 반 정도).

  • 사용 중인 구성된 스레드의 백분율을 모니터하십시오.

    Tivoli Performance Viewer는 최대 백분율이라는 측정 규준을 표시하는데, 이것이 구성된 스레드가 사용되는 빈도를 판별합니다. 두 자리 숫자인 값은 계속 ORB에서의 병목 가능성을 표시합니다. 스레드 수를 늘리십시오.


주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprf_ejbquetip
파일 이름:rprf_ejbquetip.html