Désactivation du regroupement de connexions pour Go http.Client
Pour désactiver le regroupement de connexions pour le http.Client de Go, vous pouvez modifier ses paramètres de transport. Il existe deux approches principales :
Approche 1 : DisableKeepAlive
Définir Transport.DisableKeepAlives sur true empêchera le transport de réutiliser les connexions existantes. Cependant, cela peut entraîner l'ajout d'un en-tête Connection: close aux requêtes, ce qui peut ne pas être souhaitable dans tous les scénarios de test.
Approche 2 : définir MaxIdleConnsPerHost
La définition de Transport.MaxIdleConnsPerHost sur une valeur négative, telle que -1, désactivera également efficacement le regroupement de connexions. Contrairement à DisableKeepAlives, cette approche n'affectera pas les en-têtes de requête.
Exemple de code
Voici un exemple de désactivation du regroupement de connexions à l'aide de DisableKeepAlive :
t := http.DefaultTransport.(*http.Transport).Clone() t.DisableKeepAlives = true c := &http.Client{Transport: t}
Et voici un exemple utilisant MaxIdleConnsPerHost :
t := http.DefaultTransport.(*http.Transport).Clone() t.MaxIdleConnsPerHost = -1 c := &http.Client{Transport: t}
Il est important de noter que définir Dialer.KeepAlive sur -1 ne désactive pas le regroupement de connexions. Ce paramètre affecte uniquement le comportement de maintien des connexions actives, pas la création de nouvelles connexions.
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!