golang MaxIdleConns (1) 썸네일형 리스트형 [Golang] http.Client reuse connection 증상 Go 로 만든 서비스 운영 중 특정 서버에 HTTP Request 를 요청하는 Http Client 서비스를 구현하던 중 Client 객체를 매번 생성하는 방식으로 구현했더니 커널단에서 TIME_WAIT 인 socket이 쌓여 자원 고갈이 되는 증상이 발생 문제점 HTTP Client Request 시 마다 Client 객체를 생성하거나 Client pool 방식을 사용하지 않는 경우 매번 Client 소켓을 생성하고 TCP 생명 주기에 따라 Client 소켓 종료시 TIME_WAIT 상태에서 기다리게 되며 자원이 고갈된다. 조치 검색 결과 Go 의 HTTP Client 는 자체적으로 Client pool 을 제공하기 때문에 다음과 같이 적용하면 최대 connection pool 을 설정할 수 있다.. 이전 1 다음