Apache HttpClient中的每路最大连接数和总最大连接数有什么区别?

15

我试图理解它们之间的区别。我尝试阅读文档,但并没有帮助很多。

HttpClientBuilder
                    .create()
                    .setMaxConnPerRoute(maxConnectionsPerRoute)
                    .setMaxConnTotal(maxConnectionTotal)
                    .build();

setDefaultMaxPerRoute和setMaxTotal在PoolingHttpClientConnectionManager中作用相同:

final PoolingHttpClientConnectionManager poolingmgr = new PoolingHttpClientConnectionManager();
poolingmgr.setDefaultMaxPerRoute(max);
poolingmgr.setMaxTotal(2 * max);
1个回答

20

setMaxConnTotal 是连接池中可用的最大连接总数。 setMaxConnPerRoute 是限制单个端口或 URL 的连接总数。

希望现在清楚了。


有人能建议考虑到每秒1000个事务处理量,这个应该是生产价值吗? - Saurabh Galande
3
@Saurabhgalande提出,池子大小应至少为1000 TPS /(1 / TIME)= TIME * 1000 TPS。 这里的TIME指的是每个请求所需的时间(以秒为单位)。例如,如果服务器平均响应时间为0.5秒,且您的TPS = 1000,则池大小应该不低于500。 - RustamIS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接