Go http.Client에 대한 연결 풀링 비활성화
Go에서는 net/http.Client가 HTTP 서버에 대한 연결을 관리합니다. 기본적으로 연결 풀링을 사용하여 기존 연결을 재사용하여 성능을 향상시킵니다. 그러나 테스트 목적이나 특정 사용 사례의 경우 연결 풀링을 비활성화해야 할 수도 있습니다.
http.Client에 대한 연결 풀링을 비활성화하려면 Transport.DisableKeepAlives 설정 또는 Transport.MaxIdleConnsPerHost 설정이라는 두 가지 방법을 사용할 수 있습니다. -1로.
사용 Transport.DisableKeepAlives
Transport.DisableKeepAlives 필드는 전송이 요청에 대해 연결 유지를 비활성화할지 여부를 제어합니다. true로 설정하면 요청 사이에 연결이 열린 상태로 유지되는 것을 방지할 수 있습니다. 연결 유지를 비활성화하려는 경우 이 방법을 권장합니다.
연결 유지를 비활성화하려면 다음 코드를 사용하세요.
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.DisableKeepAlives = true c := &http.Client{Transport: t} // ... }
Transport.MaxIdleConnsPerHost 사용
Transport.MaxIdleConnsPerHost 필드는 당 최대 유휴 연결 수를 제어합니다. 주인. -1로 설정하면 연결이 유휴 상태로 유지되는 것을 방지하여 연결 풀이 비활성화됩니다.
이 방법을 사용하여 연결 풀링을 비활성화하려면 다음 코드를 사용하십시오.
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.MaxIdleConnsPerHost = -1 c := &http.Client{Transport: t} // ... }
참고 :
Dialer.KeepAlive를 -1로 설정해도 연결 풀링이 비활성화되지 않습니다. 대신 활성 연결에 대한 연결 유지를 비활성화하지만 연결은 여전히 연결 풀에서 관리됩니다.
추가 고려 사항:
위 내용은 Go의 http.Client에 대한 연결 풀링을 비활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!