Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melumpuhkan Penggabungan Sambungan untuk http.Client Go?
Melumpuhkan Pengumpulan Sambungan untuk Go http.Client
Dalam Go, net/http.Client menguruskan sambungan ke pelayan HTTP. Secara lalai, ia menggunakan pengumpulan sambungan untuk meningkatkan prestasi dengan menggunakan semula sambungan sedia ada. Walau bagaimanapun, untuk tujuan ujian atau kes penggunaan tertentu, mungkin perlu melumpuhkan pengumpulan sambungan.
Untuk melumpuhkan pengumpulan sambungan untuk http.Client, dua kaedah boleh digunakan: menetapkan Transport.DisableKeepAlives atau menetapkan Transport.MaxIdleConnsPerHost hingga -1.
Menggunakan Transport.DisableKeepAlives
Medan Transport.DisableKeepAlives mengawal sama ada pengangkutan menyahdayakan keep-alive untuk permintaan. Menetapkannya kepada benar menghalang sambungan daripada terus dibuka antara permintaan. Kaedah ini disyorkan jika melumpuhkan keep-alive dikehendaki.
Untuk melumpuhkan keep-alive, gunakan kod berikut:
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.DisableKeepAlives = true c := &http.Client{Transport: t} // ... }
Menggunakan Transport.MaxIdleConnsPerHost
Medan Transport.MaxIdleConnsPerHost mengawal bilangan maksimum sambungan melahu bagi setiap hos. Menetapkannya kepada -1 menyahdayakan kumpulan sambungan dengan menghalang sebarang sambungan daripada terus melahu.
Untuk melumpuhkan pengumpulan sambungan menggunakan kaedah ini, gunakan kod berikut:
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.MaxIdleConnsPerHost = -1 c := &http.Client{Transport: t} // ... }
Nota :
Menetapkan Dialer.KeepAlive ke -1 tidak melumpuhkan pengumpulan sambungan. Sebaliknya, ia melumpuhkan keep-alive untuk sambungan aktif, tetapi sambungan masih diuruskan dalam kumpulan sambungan.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Melumpuhkan Penggabungan Sambungan untuk http.Client Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!