앞서 포스팅한 502 bad gateway 링크( http://kimazfactory.tistory.com/8 ) 와 같이 이 현상도 다양한 근원 에러들때문에 일어난다.
본 포스팅도 해당 증상이 나올때 마다 해결책을 계속 업데이트 할 예정이다.
case 1. tomcat 과 nginx 를 이용한 reverse proxy 환경에서 Synology 에 설치한 Tomcat 서비스 요청시 웹페이지에서 504 gate way timeout 증상이 나타나는 경우
cause . Oracle DBCP 의 리소스 leak 에 의한 DBCP 불량
해결책. leak 소스 코드 부분 수정
원인 진단.
ssh를 이용하여 oracle 유저로 접속하여 sqlplus "/as sysdba" 를 입력하여 관리자로 접속한다. 접속한 후 다음의 쿼리로 현재 JDBC Thin Client 의 수를 세어본다. select program, status, count(*) from v$session where program like '%JDBC%' group by program, status; |
count(*) 컬럼의 값이 계속 증가하다가 일정 값에서 504 gateway timeout 값이 발생하며
페이지가 응답하지 않는다.
이 외에도 확인하는 방법은 다음과 같다.
select * from v$resource_limit; 쿼리로 현재 세션과 프로세스의 수 그리고 DB기동 이후 최대치 (High Water mark ) 그리고 파라미터상의 최대 제한치를 조회 할 수 있다. 파라미터를 수정하여 늘려준다. 하지만 leak 현상에 따라 제한이 걸리면 dbcp(connection pool ) 의 설정에 따라 한도에 도달하지 못하고 hang 걸리는 현상이 발생하기도 한다. |
해당증상을 임의로 재현해보면 다음과 같다.
해당 리소스를 close 하지 않고 다시 사용하면 이클립스 상에서 워닝은 뜨지만 무시하고 실행하면
리소스 leak 이 발생은 하지만 프로그램은 동작한다.
'Synology NAS' 카테고리의 다른 글
시놀로지 보안설정 이것만은 꼭하세요 2 (0) | 2018.11.11 |
---|---|
시놀로지 어떤 모델을 사야할까? (0) | 2018.08.17 |
시놀로지 NAS 기본 보안설정 이것만은 꼭 하세요 (2) | 2018.08.17 |
nginx 502 bad gateway (0) | 2018.08.17 |
시놀로지 본격 사용기1. 단일볼륨설정 (2) | 2018.07.17 |