JDBC에서 연결 풀 설정을 조사했습니다.
소개
폐사에서 운용하고 있는 시스템에서 갑자기 데이터베이스에 접속할 수 없는 현상이 발생했다.
시스템의 핵심이라고 하는 데이터베이스에 접속할 수 없다 = 시스템을 사용할 수 없는 상황에 빠졌습니다.
조사한 결과, 데이터베이스에 재시작이 실행되었기 때문에, 어플리케이션 서버에서 안고 있던 접속 풀이 전멸한 것이 원인이었습니다. 전멸 후에도, 특히 재접속이 행해지지 않고, 복구까지의 사이에 시스템에 사망 플래그가 서 버렸습니다. 커넥션 풀의 설정도, 사이즈 주위는 변경한 것의 다른 설정은 디폴트인 채로 있었습니다.
기술 스택
품목
이름
버전
AP 서버
Payara 서버
4.1
언어
자바
8
DB
Amazon Aurora PostgreSQL
9.6
현상
원래 연결 풀은 비용이 많이 드는 DB 연결을 사용하려고 하는 구조입니다.
앱 서버 시작 시 다음과 같은 상태가 됩니다.
연결이 정상이면 요청시 다음과 같습니다.
이번에는 데이터베이스가 재부팅되어 다음과 같은 상태가 되었습니다.
이 상태를 유지하면서 연결 상태가 비정상인 상태로 연결 풀에 남아 있으며 앱에서 데이터베이스에 연결할 수 없습니다.
대응
대응으로서는, 풀내에 있는 접속을 모두 재접속시키는 것을 하는 것입니다.
품목
이름
버전
AP 서버
Payara 서버
4.1
언어
자바
8
DB
Amazon Aurora PostgreSQL
9.6
현상
원래 연결 풀은 비용이 많이 드는 DB 연결을 사용하려고 하는 구조입니다.
앱 서버 시작 시 다음과 같은 상태가 됩니다.
연결이 정상이면 요청시 다음과 같습니다.
이번에는 데이터베이스가 재부팅되어 다음과 같은 상태가 되었습니다.
이 상태를 유지하면서 연결 상태가 비정상인 상태로 연결 풀에 남아 있으며 앱에서 데이터베이스에 연결할 수 없습니다.
대응
대응으로서는, 풀내에 있는 접속을 모두 재접속시키는 것을 하는 것입니다.
대응으로서는, 풀내에 있는 접속을 모두 재접속시키는 것을 하는 것입니다.
이번 수정한 파라미터
파라미터의 설정값은 환경에 따라 적절히 변경해 주십시오.
매개변수
개요
설정값
connection-creation-retry-attempts
재연결 재시도 횟수
3
connection-creation-retry-interval-in-seconds
재접속 재시도 간격
10
is-connection-validation-required
접속 검증 유무
true
validate-atmost-once-period-in-seconds
연결 검증 간격
1
fail-all-connections
연결 이상시 모든 풀 삭제 여부
true
Reference
이 문제에 관하여(JDBC에서 연결 풀 설정을 조사했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mr-hisa-child/items/f854d7dd43b8b934eded
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(JDBC에서 연결 풀 설정을 조사했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mr-hisa-child/items/f854d7dd43b8b934eded텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)