至于
TypeError您得到的,设置
http.globalAgent.maxSockets或时我没有任何错误
https.globalAgent.maxSockets。您的应用中还有其他情况。
关于问题的第一部分,请意识到您不仅限于使用全局代理。您可以创建自己的
Agent实例,并使用该实例发出请求:
var http = require('http');var myAgent = new http.Agent();http.request({ ... , agent: myAgent }, ...);使用自定义代理程序发出的请求根本不会与全局代理程序进行交互。如果您没有显式指定一个代理或选择不一起使用代理(通过在request选项中
false作为
agent值传递),则全局代理只是使用的默认代理。
因此,当文档说时
agent.maxSockets,他们实际上是在指通用
Agent类。每个实例都具有该属性,包括全局代理(默认代理),您 必须
通过该属性进行访问
http.globalAgent。
问题的第二部分(最佳
maxSockets)很难回答。请记住,许多服务器将限制来自给定IP的并发连接的数量,并且您要确保不会让大量并发请求的服务器不堪重负。(随着一次触发足够多的请求,您实质上是在DOS服务器。)



