Maison >développement back-end >Golang >Comment désactiver le regroupement de connexions pour le client http.Go de Go ?
Désactivation du regroupement de connexions pour Go http.Client
Dans Go, le net/http.Client gère les connexions aux serveurs HTTP. Par défaut, il utilise le regroupement de connexions pour améliorer les performances en réutilisant les connexions existantes. Cependant, à des fins de tests ou dans certains cas d'utilisation, il peut être nécessaire de désactiver le pooling de connexions.
Pour désactiver le pooling de connexions pour un http.Client, deux méthodes peuvent être utilisées : définir Transport.DisableKeepAlives ou définir Transport.MaxIdleConnsPerHost à -1.
Utilisation Transport.DisableKeepAlives
Le champ Transport.DisableKeepAlives contrôle si le transport désactive le maintien de la vie pour les requêtes. Le définir sur true empêche les connexions de rester ouvertes entre les requêtes. Cette méthode est recommandée si la désactivation des keep-alives est souhaitée.
Pour désactiver les keep-alives, utilisez le code suivant :
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.DisableKeepAlives = true c := &http.Client{Transport: t} // ... }
Utilisation de Transport.MaxIdleConnsPerHost
Le champ Transport.MaxIdleConnsPerHost contrôle le nombre maximum de connexions inactives par hôte. Le définir sur -1 désactive le pool de connexions en empêchant toute connexion de rester inactive.
Pour désactiver le pool de connexions à l'aide de cette méthode, utilisez le code suivant :
import ( "net/http" "time" ) func main() { t := http.DefaultTransport.(*http.Transport).Clone() t.MaxIdleConnsPerHost = -1 c := &http.Client{Transport: t} // ... }
Remarque :
Le réglage de Dialer.KeepAlive sur -1 ne désactive pas le regroupement de connexions. Au lieu de cela, il désactive la conservation des connexions actives, mais les connexions sont toujours gérées dans le pool de connexions.
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!