该消息
connection reset bypeer表明远程服务器发送了一个
RST以强制关闭连接的方式,这是有意限制连接的机制,或者是由于资源不足而导致的。无论哪种方式,您可能打开太多的连接,或者重新连接的速度太快。
并行启动1000-2000个连接很少是下载那么多页面的最有效方法,特别是如果大多数或全部来自单个服务器时。如果您测试吞吐量,您会发现一个较低的最佳并发级别。
您还需要将设置
Transport.MaxIdleConnsPerHost为与您的并发级别相匹配。如果
MaxIdleConnsPerHost低于预期的并发连接数,则服务器连接通常会在请求后关闭,而仅立即再次打开-
这将大大减慢您的进度,并可能达到服务器施加的连接限制。



