■ Postgresql
https://www.postgresql.kr/docs/9.5/runtime-config-connection.html
■ 리눅스
github-wiki-see.page/m/ekdlfpr241/study/wiki/%5BLinux-커널-이야기%5D-8.-TCP-keepalive를-이용한-세션-유지
■ 윈도우
https://microshift.tistory.com/22
https://www.ibm.com/docs/ko/ibm-mq/8.0?topic=ssfksj-8-0-0-com-ibm-mq-con-doc-q015940--htm
rockball.tistory.com/entry/Windows-Tcp-세션-연결
저는 리눅스에서 운영하는 경우 Postgresql, 리눅스 keepalive 설정을 모두 세팅해서 사용하고 있습니다.
윈도우에서는 postgresql 을 사용하지 않아서 참고 사이트만 올려드립니다.
* (n 은 자연수) postgresql.conf
tcp_keepalives_idle = n00
tcp_keepalives_interval = n0
tcp_keepalives_count = n
tcp_keepalives_idle (integer)
TCP가 keepalive 메시지를 클라이언트에 전송하기 전에 비활성화 상태로 대기하는 초 수를 지정한다. 0 값은 시스템 기본값을 사용한다. 이 매개변수는 TCP_KEEPIDLE 또는 TCP_KEEPALIVE 심볼을 지원하는 시스템과 Windows에서만 지원되며, 0이어야 한다. Unix 도메인 소켓을 통해 연결된 세션에서 이 매개변수는 무시되고 항상 0으로 읽힌다.
참고: Windows는 시스템 기본값을 읽을 수 있는 방법이 없으므로 Windows에서 0 값은 이 매개변수가 2시간으로 설정된다.
tcp_keepalives_interval (integer)
클라이언트에 의해 승인되지 않은 TCP keepalive 메시지를 재전송하기 전에 대기하는 초 수를 지정한다. 0 값은 시스템 기본값을 사용한다. 이 매개변수는 TCP_KEEPINTVL 심볼을 지원하는 시스템과 Windows에서만 지원되며, 0이어야 한다. Unix 도메인 소켓을 통해 연결된 세션에서 이 매개변수는 무시되고 항상 0으로 읽힌다.
참고: Windows는 시스템 기본값을 읽을 수 있는 방법이 없으므로 Windows에서 0 값은 이 매개변수가 1초로 설정된다.
tcp_keepalives_count (integer)
몇 개의 TCP keepalive를 분실해야 클라이언트와 서버의 연결 상태를 dead로 판단하는 기준이 되는 지를 정한다. 0 값은 시스템 기본값을 사용한다. 이 매개변수는 TCP_KEEPCNT 심볼을 지원하는 시스템과 기타 시스템에서만 지원되며, 0이어야 한다. Unix 도메인 소켓을 통해 연결된 세션에서 이 매개변수는 무시되고 항상 0으로 읽힌다.
참고: 이 매개변수는 Windows에서 지원되지 않으며, 0이어야 한다.
|