在Golang http客户端中,为什么会有MaxConnsPerHost但没有MaxConns

问题描述 投票:0回答:1
  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
http go connection-pooling
1个回答
0
投票

我看不到整个http客户端的任何MaxConns,为什么?

因为没有。如果您不希望向该客户端发出N个并发请求,请执行以下操作:只是不要这样做。 (如果客户限制ist将是主要的皮塔饼。)

如果我仅限制MaxIdleConns(针对整个客户端),是否有可能超过此活动连接的限制?

是。 MaxIdlConns限制空闲连接而不是非空闲连接。

© www.soinside.com 2019 - 2024. All rights reserved.