gpt4 book ai didi

apache-httpclient-4.x - PoolingClientConnectionManager setMaxTotal : what is a good default value to use?

转载 作者:行者123 更新时间:2023-12-05 08:00:31 30 4
gpt4 key购买 nike

当使用 Apache PoolingClientConnectionManager 时,例如:

PoolingClientConnectionManager cm = new PoolingClientConnectionManager();
cm.setMaxTotal(???);
HttpClient client = new DefaultHttpClient(cm);

放在那里什么被认为是好的默认值?Apache site here 上的示例使用 100 和其他地方(stackoverflow.com/questions/13310490/apache-defaulthttpclient-how-to-set-max-total-connection-and-default-max-conn)我读过应该知道的峰值负载大致是多少并将其设置为该值。

那么 setMaxTotal(???) 中是否有一个好的默认值? 或者建议计算出您的峰值并以此为基础?

如果是后者,确定峰值负载的好方法是什么?我看了 here 通过这个幻灯片,看到默认值是 10,虽然你可以将它设置为 0 并让美好时光滚动(尽管这显然否定了任何时间出服务,有什么好的理由吗?)。我也碰巧浏览了 oracle 文档 (docs.oracle.com/cd/E17904_01/web.1111/e13737/ds_tuning.htm),看到了一些关于维护连接池的好技巧,但没有关于确定峰值负载的提示。

如有任何帮助,我们将不胜感激。

最佳答案

始终建议计算出您的峰值负载并相应地设置值

我之前也遇到过这样的情况。努力找到一个合适的方法来为 setMaxTotal() 获取一个好的值。

但它对我来说是这样的

你可以做一个 lsof -p <process id>如果您的应用程序在 linux 上运行。

这将从应用程序中获取所有打开的连接。你可以在重负载期间 grep 你的目标服务器名称。

lsof -p <process id>|grep <target server>

这将显示从您的应用程序到目标服务器的所有连接。

如果 httpclient 不能承受重负载,将此值保持在 100 以下总是好的。池最多只能容纳 100 个对象。

关于apache-httpclient-4.x - PoolingClientConnectionManager setMaxTotal : what is a good default value to use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218059/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com