使用 Apache PoolingClientConnectionManager 时,例如:
PoolingClientConnectionManager cm = new PoolingClientConnectionManager();
cm.setMaxTotal(???);
HttpClient client = new DefaultHttpClient(cm);
什么被认为是一个好的默认值?Apache 网站上的一个例子在这里使用100
和其他地方(stackoverflow.com/questions/13310490/apache-defaulthttpclient-how-to-set-max-total-connection-and-default-max-conn)我读到应该大致知道峰值负载将是多少并将其设置为该负载。
那么是否有一个很好的默认值setMaxTotal(???)
呢?还是建议您弄清楚您的峰值是多少并以此为基础?
如果是后者,确定峰值负载的好方法是什么?
我通过此幻灯片查看了此处,发现默认值为10
,尽管您可以将其设置为0
并让美好时光滚动(尽管这显然否定了任何超时服务,有什么好的理由吗?)。我还碰巧浏览了 oracle 文档 (docs.oracle.com/cd/E17904_01/web.1111/e13737/ds_tuning.htm) 并看到了一些关于维护连接池的好技巧,但没有关于确定峰值负载的内容。
对此的任何帮助将不胜感激。