2014-04-05 3 views
1

MaxIdleConnsPerHost이 높은 숫자로 설정된 경우 1000이라고 가정 해 봅시다. 열려있는 연결 수는 여전히 다른 호스트에 따라 다릅니다. 맞습니까? 같은 호스트에서 1000 개의 유휴 연결을 허용하면 다른 호스트에 의해 닫히지 않는 한 1000 개의 연결이 열리게됩니까?Go (lang) : http 클라이언트의 전송에서 MaxIdleConnsPerHost에 대해

이 값을 효과적으로 설정하면 절대로 연결을 닫지 않고 다른 호스트가 연결을 기다릴 수 있습니까? 나는 이것을 정확하게 해석하고 있는가?

답변

3

귀하의 이해가 정확합니다. MaxIdleConnsPerHost은 요청을 적극적으로 처리하지 않지만 클라이언트가 닫지 않은 연결 수를 제한합니다.

유휴 연결은 동일한 서버에 대한 후속 HTTP 요청에 대한 연결을 재사용 할 수 있기 때문에 웹 브라우저에 유용합니다. 그러나 유휴 연결에는 서버 비용이 있습니다. 커널 리소스를 사용하기 때문에 프로그램 또는 다른 컴퓨터의 프로그램에서 예기치 않은 오류가 발생할 수있는 프로세스 제한이나 커널 연결 제한, 열린 연결 수, 파일 또는 핸들 수에 따라 실행될 수 있습니다.

이와 같이 큰 숫자로 MaxIdleConnsPerHost을 늘릴 때주의하십시오. 같은 클라이언트에서 짧은 시간에 많은 연결이 표시되는 경우 유휴 연결을 늘리는 것이 좋습니다.