워크로드가 분배되지 않음
워크로드 분배 문제점이 있을 경우 이 정보를 사용하여 문제점을 진단할 수 있습니다.
다음과 같이 문제가 있는 배치 관리자와 애플리케이션 서버의 JVM 로그를 찾아보십시오.
- Information Center의 참조 보기를 선택한 후 탐색 트리의 메시지를 펼쳐서 오류 메시지를 보십시오.
로그 및 추적 분석기 도구를 사용하여 배치 관리자 및 문제점이 발생한 노드의 서비스 로그(activity.log)를 찾아서 분석하십시오. app_server_root/logs 및 app_server_root/logs에서 모두 activity.log 파일을 보십시오.
배치 관리자 및 문제점이 발생한 노드의 서비스 로그(activity.log)를 분석하십시오. profile_root/logs에서 activity.log 파일을 보십시오.
Java™ 예외가 로그 파일에 표시될 경우 추적 스택을 조사하고 예외가 작성된 스택(com.ibm.websphere 또는 com.ibm.ws로 시작하는 이름)의 맨 위에서 제품 관련 클래스를 찾아서 문제점과 직접 관련된 실제 하위 컴포넌트를 판별하십시오. 적절한 경우, Information Center의 WebSphere 애플리케이션 문제점 해결 섹션에서 적합한 하위 컴포넌트의 문제점을 해결하기 위한 단계를 검토하십시오.
예를 들어, com.ibm.websphere.naming 패키지의 클래스에서 예외가 발생한 것으로 보이면, 네이밍 서비스 컴포넌트 문제점 해결 팁 주제를 검토하십시오.
다음과 같이 문제가 있는 배치 관리자와 애플리케이션 서버의 JVM 로그를 찾아보십시오.
- Information Center의 참조 보기를 선택한 후 탐색 트리의 메시지를 펼쳐서 오류 메시지를 보십시오.
Java 예외가 로그 파일에 표시될 경우 추적 스택을 조사하고 예외가 작성된 스택(com.ibm.websphere 또는 com.ibm.ws로 시작하는 이름)의 맨 위에서 제품 관련 클래스를 찾아서 문제점과 직접 관련된 실제 하위 컴포넌트를 판별하십시오. 해당하는 경우, Information Center의 WebSphere 애플리케이션 문제점 해결 섹션에서 해당하는 하위 컴포넌트의 문제점을 해결하기 위한 단계를 검토하십시오.
예를 들어, com.ibm.websphere.naming 패키지의 클래스에서 예외가 발생한 것으로 보이면, 네이밍 서비스 컴포넌트 문제점 해결 팁 주제를 검토하십시오.
- ping 명령을 실행하여 구성의 모든 시스템에 다음과 같은 서로에 대한 TCP/IP 연결이 있는지 확인하십시오.
- 실제 각 서버에서 배치 관리자로의 연결
- 배치 관리자에서 실제 각 서버로의 연결
- 문제점은 클러스터 환경에서 발생하지만, 실제 원인은 클러스터링과 간접적으로만 관련되거나 관련되지 않을 수도
있습니다. 모든 관련 가능성을 조사하십시오.
- 하나 이상의 서버에서 엔터프라이즈 Bean이 요청을 제공하지 않는 경우, "서블릿, JSP, 독립형 프로그램 또는 기타 클라이언트에서 엔터프라이즈 Bean에 액세스할 수 없음" 및 "서블릿, JSP 파일 또는 기타 클라이언트에서 제품이 호스트하는 오브젝트를 찾을 수 없음" 주제를 검토하십시오.
- 문제점이 보안을 사용 가능하게 한 후 나타난 것으로 보이면, 보안 사용 가능 이후의 오류 또는 액세스 문제점 주제를 참조하십시오.
- 애플리케이션 서버가 요청에 대한 응답을 중지하거나 자발적으로 종료될 경우(프로세스가 닫힘), 웹 모듈 또는 애플리케이션 서버 작동 불능 또는 정지 주제를 검토하십시오.
- 일부 또는 모든 서버가 SOAP 요청에 서비스를 제공하지 않을 경우, SOAP 요청을 전송하는 클라이언트에 리턴된 오류 주제를 검토하십시오.
하나 이상의 노드의 서버에 애플리케이션을 설치하거나 배치할 때 문제점이 발생하는 경우, 코드 전개 및 설치 문제점 해결 주제를 검토하십시오.
지원되는 UNIX 시스템 서버를 사용하는 Windows 기반 배치 관리자로 토폴로지가 구성된 경우 vi를 사용하여 지원되는 UNIX 시스템에서 최근에 업데이트된 .xml 및 .policy 파일을 찾아 Ctrl-M 문자가 파일에 없는지 확인하십시오. 향후 이러한 문제점을 방지하려면 지원되는 UNIX 시스템에서 vi를 사용하여 이러한 문자가 삽입되지 않도록 해당 파일을 편집하십시오.
워크로드 관리 컴포넌트는 문제점 해결 팁을 확인하십시오.
- 사용 가능 온라인 지원(힌트와 팁, 기술 노트 및 수정사항)을 검토하여 문제점을 식별하고 문서화했는지 확인하십시오.
HTTP 요청이 모든 서버에 분배되지 않음
- 기본 서버 목록을 확인하십시오. 선호도가 설정되지 않은 경우, 플러그인은 기본 서버 목록에 정의된 모든 서버 상에서 로드 밸런스를 수행합니다. 정의된 기본 서버 목록이 없을 경우, 선호도가 설정되지 않으면 플러그인이 클러스터에 정의된 모든 서버 상에서 로드 밸런스를 수행합니다. 선호도가 설정된 경우, 플러그인은 동일한 HTTP 세션 내에서 모든 요청에 대해 해당 서버로 직접 이동해야 합니다.
- 일부 서버가 요청을 제공하고 다른 하나 이상의 서버는 요청을 제공하지 않는 경우,
문제의 서버에 직접 액세스하여 이 서버가 작동하고 워크로드 관리 문제와
관련이 없는지 확인하십시오. 이 서버가 작동하지 않는 경우, 다음을 수행하십시오.
- 관리 콘솔을 사용하여 영향을 받는 서버가 실행되고 있는지 확인하십시오.
- 자세한 정보는 웹 자원 표시 안됨 주제를 참조하십시오.
- 자세한 정보는 HTTP 플러그인 컴포넌트 문제점 해결 팁 주제를 참조하십시오.
워크로드 관리 컴포넌트 문제점 해결 주제에서 워크로드 관리 문제를 진단하는 단계를 확인하십시오.
엔터프라이즈 Bean 요청이 모든 서버에 분배되지 않음
- 관리 콘솔을 사용하여 서버가 시작되었는지 확인하십시오. 서버를 시작하거나 시작, 중지된 후 이를 다시 시작하십시오.
- 관리 콘솔을 찾아보고 문제가 있는 서버를 실행하는 노드가 표시되는지
확인하십시오. 표시되지 않을 경우, 다음을 수행하십시오.
- 노드를 클러스터에 추가하는 단계를 검토하십시오.
- 하나 이상의 노드가 관리 콘솔에 표시되지 않음 섹션에 있는 단계를 검토하십시오.
- 가능한 경우 문제가 있는 서버의 엔터프라이즈 Bean에 직접 액세스하여 TCP/IP 연결, 애플리케이션 서버 상태 또는 워크로드 관리와 관련되지 않은 기타 문제점이 있는지 확인하십시오. 확인할 수 없으면 서블릿, JSP, 독립형 프로그램 또는 기타 클라이언트에서 엔터프라이즈 Bean에 액세스할 수 없음 주제를 검토하십시오.
워크로드 관리 컴포넌트 문제점 해결 주제에서 워크로드 관리 문제를 진단하는 단계를 확인하십시오.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
엔터프라이즈 Bean 요청이 균일하게 분배되지 않음
- 부적절한 구성
- 서버 또는 애플리케이션의 사용 가능성과 같은 환경 문제
- 트랜잭션 선호도와 관련된 많은 요청
- 적은 수의 클라이언트
제품의 워크로드 관리는
서버에 요청을 분산시키기 위한 가중치 비례 설계를 기반으로 합니다. 이로 인해 다른 수단에 의해서가
아니라 요청 수에 의해 밸런스가 결정됩니다. 클러스터의 각 멤버에 의해 처리된 요청 수와 각각의 이들
멤버에 대해 설정된 가중치를 비교하여 실제 밸런스 문제점을 판별합니다. 이는 워크로드 관리 컴포넌트 문제점 해결
주제의 단계에 따라 수행됩니다.
제품의
워크로드 관리는 요청 분배의 라운드 로빙 설계를 기반으로 합니다. 이로 인해 다른 수단에 의해서가
아니라 요청 수에 의해 밸런스가 결정됩니다. 클러스터의 각 멤버에 의해 처리된 요청 수와 각각의 이들
멤버에 대해 설정된 가중치를 비교하여 실제 밸런스 문제점을 판별합니다.
![[z/OS]](../images/ngzos.gif)
- 클러스터의 각 멤버에 대해 도착하는 요청의 백분율이 가중치와 일치할 때 요청 수가 밸런스되어 있더라도 워크로드가 밸런스를 이루지 못하는 원인을 판별하려면 애플리케이션의 추가 분석이 필요합니다.
- numIncomingNonWLMObjectRequests의 수가 클러스터 멤버 사이에 밸런스되어 있지 않고 numIncomingRequests에 비해 크면 밸런스가 되지 않는 원인은 클러스터 멤버에 설치된 분배 불가능한 컴포넌트 때문입니다. 구성을 수정하면 더욱 향상된 밸런스 환경이 됩니다.
- numIncomingStrongAffinityRequests의 수가 클러스터 멤버 사이에 밸런스되지 않고 numIncomingRequests보다 크면 밸런스되지 않는 이유는 트랜잭션 내 호출되는 요청 때문입니다. 이 요청은 동일한 클러스터의 트랜잭션 내에 관련 오브젝트를 설치하여 감소시킬 수 있습니다.
서버에 장애가 발생하더라도 계속 엔터프라이즈 Bean 요청을 수신합니다(장애 조치(failover) 실패)
클라이언트가 중단되었던 서버의 엔터프라이즈 Bean이 있는 트랜잭션에 있었을 수도 있습니다. 문제가 있는 엔터프라이즈 Bean 인스턴스를 호스트하는 애플리케이션 서버의 JVM 로그를 확인하십시오. 요청이 CORBA SystemException COMM_FAILURE org.omg.CORBA.completion_status.COMPLETED_MAYBE와 함께 리턴된 경우, 이것은 설계한 대로 작동할 수 있습니다. 트랜잭션을 완료할 수 있으므로 설계는 이 특정 예외를 다시 클라이언트로 이동하게 하는 것입니다. 이 요청을 다른 서버로 장애 조치(failover)하면 이 요청이 두 번 제공될 수 있습니다.
클라이언트가 중단되었던 서버의 엔터프라이즈 Bean이 있는 트랜잭션에 있었을 수도 있습니다. 문제가 있는 엔터프라이즈 Bean 인스턴스를 호스트하는 애플리케이션 서버의 JVM 로그를 확인하십시오. 요청이 CORBA SystemException COMM_FAILURE org.omg.CORBA.completion_status.COMPLETED_MAYBE와 함께 리턴된 경우, 이것은 설계한 대로 작동할 수 있습니다. 트랜잭션을 완료할 수 있으므로 설계는 이 특정 예외를 다시 클라이언트로 이동하게 하는 것입니다. 이 요청을 다른 서버로 장애 조치(failover)하면 이 요청이 두 번 제공될 수 있습니다.
서버로 전송된 요청이 다른 예외와 함께 일관되게 클라이언트로 다시 가는 경우, 사용 가능한 서버가 없을 수 있습니다. 이 경우 워크로드 관리 컴포넌트 문제점 해결 주제에 요약된 해결 단계를 수행하십시오.
서버로 전송된 요청이 다른 예외와 함께 일관되게 클라이언트로 다시 가는 경우, 사용 가능한 서버가 없을 수 있습니다.
![[z/OS]](../images/ngzos.gif)
중지되거나 정지된 서버가 복원된 후 워크로드를 공유하지 않습니다.
이 오류는 해당 서버가 복원된 후 이전에 사용 불가능한 서버가 워크로드 관리 컴포넌트에 의해 인식되지 않을 때 발생합니다. 워크로드 관리자가 사용 불가능으로 표시되었던 서버에 전송하기 위해 대기하는 동안 com.ibm.websphere.wlm.unusable.interval 특성에 의해 결정되는 사용 불가능 간격이 있습니다. 기본적으로 이 값은 5분입니다.
작동 중지된 서버가 이제 가동되어 요청을 제공할 수 있는지 확인하여 문제점 여부를 확인할 수 있습니다. 그런 다음, 사용 불가능 간격이 경과할 때까지 기다린 다음 장애 조치(failover)가 발생되었는지 여부를 판별하십시오.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
클러스터가 해당 백업 클러스터로 장애 조치(failover)하지 않음
[10/11/04 13:11:10:233 CDT] 00000036 SelectionMana A WWLM0061W: An error was
encountered sending a request to cluster member {MEMBERNAME=FlorenceEJBServer1,
NODENAME=fwwsaix1Node01} and that member has been marked unusable for future
requests to the cluster "", because of exception: org.omg.CORBA.COMM_FAILURE:
CONNECT_FAILURE_ON_SSL_CLIENT_SOCKET - JSSL0130E: java.io.IOException: Signals
that an I/O exception of some sort has occurred. Reason: Connection refused
vmcid: 0x49421000 minor code: 70 completed: No"
- 각 백업 클러스터 설정에 대해 배치 관리자 호스트 이름 및 부트스트랩 포트를 검토하십시오.
- 호스트 이름 및 DCS(distribution and consistency services) 포트가 정확한지 확인하려면 코어 그룹 브릿지 피어 포트를 검토하십시오.
- 1차 및 백업 클러스터의 이름이 일치하는지 확인하십시오.
- 애플리케이션이 보안을 통과하여 백업 클러스터로 이동하려는 경우, 보안 구성을 검토하십시오. 싱글 사인온(SSO)을 사용하여 LTPA(Lightweight Third Party) 키를 백업 셀로 가져와야 할 수 있습니다.