Go(lang):关于 http 客户端传输中的 MaxIdleConnsPerHost



如果MaxIdleConnsPerHost设置为较高的数字,假设为1000,则打开的连接数仍将取决于其他主机,对吗?我的意思是,允许与同一主机建立 1000 个空闲连接将导致打开 1000 个连接,只要这些连接不被其他主机关闭?

因此,有效地将此值设置为较大的数字将导致永远不会关闭连接,而是等待其他主机执行此操作? 我是否正确解释了这一点?

你的理解是正确的。 MaxIdleConnsPerHost限制有多少个连接未主动为请求提供服务,但客户端尚未关闭。

空闲连接对于 Web 浏览器很有用,因为它们可以继续重用连接,以便对同一服务器的后续 HTTP 请求。但是,空闲连接会给服务器带来成本。它们使用内核资源,并且您可能会遇到每个进程的限制或内核对打开的连接、文件或句柄数的限制,这可能会导致程序中出现意外错误,甚至导致同一台计算机上的其他程序出现意外错误。

因此,在将MaxIdleConnsPerHost增加到大量时要小心。仅当您在短时间内看到来自相同客户端的许多连接时,才有意义地增加空闲连接。

相关内容

  • 没有找到相关文章

最新更新