Maison > développement back-end > Golang > le corps du texte

Comment puis-je désactiver le regroupement de connexions pour le http.Client de Go ?

Mary-Kate Olsen
Libérer: 2024-11-06 22:25:02
original
548 Les gens l'ont consulté

How can I disable connection pooling for Go's http.Client?

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}
Copier après la connexion

Et voici un exemple utilisant MaxIdleConnsPerHost :

t := http.DefaultTransport.(*http.Transport).Clone()
t.MaxIdleConnsPerHost = -1
c := &http.Client{Transport: t}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal