在 Golang http 客户端中,为什么有 MaxConnsPerHost

  1. 我在 Go http 包中看到:

    MaxIdleConnsPerHost int

    但是我没有看到整个 http 客户端的任何 MaxConns,为什么?

  2. 如果我只限制 MaxIdleConns(每个客户端),是否有可能超过这个活动连接限制?(我假设答案很简单,但这只是理论上的吗?)

从文档:

// MaxIdleConnsPerHost, if non-zero, controls the maximum idle

// (keep-alive) connections to keep per-host. If zero,

// DefaultMaxIdleConnsPerHost is used.

MaxIdleConnsPerHost int




// MaxConnsPerHost optionally limits the total number of

// connections per host, including connections in the dialing,

// active, and idle states. On limit violation, dials will block.

//

// Zero means no limit.

MaxConnsPerHost int


PIPIONE
浏览 409回答 1
1回答

人到中年有点甜

我没有看到整个 http 客户端的任何 MaxConns,为什么?因为没有。如果您不想与该客户端发出超过 n 个并发请求,请不要这样做(如果客户端会限制,这将是一个主要的 pita 使用)。如果我只限制 MaxIdleConns(每个客户端),是否有可能超过这个活动连接限制?是的。MaxIdlConns限制空闲连接而不是非空闲连接。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go