我的理解是,ClientConnectionManager 的所有实现都基于路由保持连接。如果涉及代理,这将导致基本上没有持久连接。例如,HttpClient 需要通过具有固定 IP 的 HTTP 代理访问 1000 个不同的域,它必须与代理建立至少 1000 个连接,而不是创建到代理的 1 个持久连接并将其重用于 1000 个请求。
我正在模拟多个用户访问数千个域(假域,所有 dns 解析为几个 IP,解析发生在代理之后,因此与 HttpClient 无关)。当我增加用户和域的数量时,上述行为很快耗尽了 localhost 中的所有可用端口,结果发生地址绑定错误。
有没有办法让 HttpClient 在代理的基础上保持连接?IE。HttpClient 仅维护与给定代理的指定数量的连接。