listen_* 서버 설정
listen_* 서버 설정
이 페이지에서는 서버가 요청을 받기 위해 바인딩하는 네트워크 인터페이스와 리슨 소켓의 백로그(backlog) 등을 제어하는 listen_* 계열 서버 설정을 설명할게요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.
listen_backlog
리슨 소켓의 백로그(대기 중인 연결의 큐 크기)예요. 기본값 <4096>은 linux 5.4+의 값과 같아요. 일반적으로 이 값을 변경할 필요는 없어요. 왜냐하면:
- 기본값이 충분히 크고,
- 클라이언트 연결을 수락하기 위해 서버에 별도의 스레드가 있기 때문이에요.
따라서 <nstat>의 <TcpExtListenOverflows>가 0이 아니고 그 카운터가 ClickHouse 서버에서 증가한다고 해서 이 값을 늘려야 한다는 뜻은 아니에요. 왜냐하면:
- 보통
<4096>이 충분하지 않다면 내부적인 ClickHouse 확장 문제를 보여주는 것이므로 이슈를 보고하는 것이 좋아요. - 서버가 나중에 더 많은 연결을 처리할 수 있다는 뜻도 아니에요 (그리고 처리할 수 있어도 그 시점에 클라이언트가 사라졌거나 연결이 끊겼을 수 있어요).
예시
<listen_backlog>4096</listen_backlog>
listen_host
요청이 올 수 있는 호스트에 대한 제한이에요. 서버가 모든 호스트에 응답하게 하려면 ::를 지정하세요.
예시:
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
listen_reuse_port
여러 서버가 같은 address:port에서 리슨하는 것을 허용해요. 요청은 운영 체제에 의해 임의의 서버로 라우팅돼요. 이 설정을 활성화하는 것은 권장되지 않아요.
예시
<listen_reuse_port>0</listen_reuse_port>
listen_try
리슨을 시도할 때 IPv6 또는 IPv4 네트워크를 사용할 수 없어도 서버가 종료되지 않아요.
예시
<listen_try>0</listen_try>