Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache DefaultHttpClient:如何设置每个路由的最大总连接数和默认最大连接数_Java_Apache Httpclient 4.x - Fatal编程技术网

Java Apache DefaultHttpClient:如何设置每个路由的最大总连接数和默认最大连接数

Java Apache DefaultHttpClient:如何设置每个路由的最大总连接数和默认最大连接数,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,我使用单例DefaultHttpClient每秒执行十几个或更多的并行HTTP请求。我想知道如何以智能方式为下面代码中的“PoolgClientConnectionManager”设置值x(最大总连接数)和y(默认每个路由的最大连接数)。 我希望poolgclientconnectionmanager能够帮助我,以便在出现负载峰值或负载比平时低很多时,我不必更改这些值。我能做什么?或者我必须将值设置为总是比我实际需要的值更大的值吗 编辑:说poolgclientconnectionmanager

我使用单例
DefaultHttpClient
每秒执行十几个或更多的并行HTTP请求。我想知道如何以智能方式为下面代码中的“PoolgClientConnectionManager”设置值x(最大总连接数)y(默认每个路由的最大连接数)

我希望poolgclientconnectionmanager能够帮助我,以便在出现负载峰值或负载比平时低很多时,我不必更改这些值。我能做什么?或者我必须将值设置为总是比我实际需要的值更大的值吗


编辑:说
poolgclientconnectionmanager.setMaxTotal(Integer.MAX_VALUE)
是个好主意吗?

从4.2版开始,可以使用BackoffManager根据使用持久连接的反馈动态调整可用连接池的大小


您应该知道您的峰值负荷是多少,并相应地调整最大负荷。请记住,仅仅因为您设置了任意大的max并不能保证底层客户机能够承受非常高的并发负载。连接管理器无法为您完成所有工作。因此,明天我将在硬件更好的服务器上部署软件,然后我必须重新估计连接池大小?!您可以将这些“调优”变量外部化到特定于环境的配置文件中,并在程序启动时读取它们。
...
PoolingClientConnectionManager poolingClientConnectionManager =
    new PoolingClientConnectionManager(sr, 20, TimeUnit.SECONDS);
poolingClientConnectionManager.setMaxTotal(x);
poolingClientConnectionManager.setDefaultMaxPerRoute(y);
return new DefaultHttpClient(poolingClientConnectionManager, new BasicHttpParams());