728x90
개요
 Size가 큰 Session이 유입되면서, IO Exception이 발생 하였으며, Session서버로 부하를 주면서 Queue Full 발생 및 Lock획득 과정에서 Hang상태 후 장애유발

현상
 WAS의 컨테이너에서 Container getSession IO Exception 발생. 
 해당 Exception의 발생으로 컨테이너가 HANG상태로 변함.

원인
 jeus.net.msg.max 사이즈는 기본 5M 설정으로 이보다 더 큰 세션 생성시 getSession IO Exception 발생.
 Network OS level 에서의 Send Buffer가 정상적으로 read 되지 않았으며, 따라서 write queue가 점차적으로 증가 후, 10kb 되면서 Queue Block 발생함

해결방안
 system.jeus.session 로그를 활성화 시켜 로그 사이즈 측정 결과, 최대 8MB를 기록하였음.
 따라서 다음과 같이 설정 
  $JEUS_HOME/bin/jeus.properties의 JAVA_ARGS에 -Djeus.net.msg.max 사이즈 10MB 설정.
  ※티맥스연구소 권장에 따른, 사이트 세션객체 크기에 따라 조정하며, 10MB 이상은 비정상으로 Exception 처리가 적절함

 Send Buffer의 무한 Wait를 방지를 위해 다음과 같이 설정 (jext패치 작업이 같이 필요)
  $JEUS_HOME/bin/jeus.properties의 JAVA_ARGS에 -Djeus.net.nio.write.timeout 설정
  $JEUS_HOME/lib/jext 에 jext_v6008_i77157_a451003.jar 추가 필요.
728x90
728x90
개요
 WAS 서버의 Looping현상으로 인한 서비스 지연 발생

현상
 WAS 서버의 resolv.conf 설정 변경 후 해당 WAS서버에서 제공하는 일부 서비스 접속 불가 현상

원인
 resolv.conf 설정 시 nsswitch.conf  설정 파일이 없으면 DNS 우선 참조(hosts 파일 참조 하지 않음)
 ※ resolv.conf : DNS 서비스를 위한 설정 파일
   nsswitch.conf : 도메인 검색 순서를 설정하는 파일
   ex) hosts: files [NOTFOUND=continue] dns 
     →hosts 파일에 URL이 없으면 dns 서버에서 검색

 hosts 파일 내에 등록된 URL 호출 불가로 서비스 큐잉 발생
  →DNS 참조 후 공인IP로 호출하게 되어 내부IP 호출 서비스 불가
  →WAS서버는 DMZ 망이 아닌 내부망에 존재 하므로 공인IP로 서비스 호출 불가

해결방안
 resolv.conf 의 설정에 대한 무지로 인해 발생한 건으로 resolv.conf 원복하여 해결

 
728x90
728x90
개요
 WAS의 2중화 구성 환경에서 WAS1과 WAS2가 세션을 공유하지 못하는 현상이 발생

현상
 WAS의 2중화 구성 환경에서 이미지 업로드 하는 거래의 Flow를 진행 시 세션 공유가 되지 않음.
 이미지 업로드 거래 Flow
  1. 뷰어를 띄우는 부분 (WAS1 서버로 연결)
  2. 뷰어에서 ActiveX 에디터를 띄우는 부분 (WAS1 서버로 연결)
  3. ActiveX 에서 이미지 저장을 시작하는 부분 (WAS1 서버로 연결)
   3.1 StartUp (WAS2 서버로 연결)
   3.2 Update (WAS1 서버로 연결)
   3.3 Complete (WAS2 서버로 연결)
    ※ 위 3.1~3 부분은 세션상에서 받아온 userid를 파라매터로 처리
 3의 3.1 부터 세션 정보를 잃어버림.

원인
 이미지 업로드 거래를 처리하는 WAS(JEUS6)의 session-timeout 설정이 0으로 설정되었을 경우,
 JEUS6에서 세션서버를 사용 시 세션 정보를 자체적으로 삭제를 해버림.
 따라서 세션 공유가 불가능한 상황.

해결방안
 session-timeout 을 명시적으로 0이외의 시간으로 설정
 session-timeout은 web.xml에서 설정 가능

        <session-config>
            <session-timeout>180</session-timeout>
        </session-config>

 ※JEUS6의 session-timeout 적용 우선 순위
  1. web.xml
  2. $JEUS_CONFIG/servlet/webcommon.xml

 
728x90

+ Recent posts