【发布时间】:2017-11-29 23:10:43
【问题描述】:
我有带有 http 请求池的性能关键应用程序。我的应用程序服务是突发处理批处理文件。 PoolingHttpClientConnectionManager 是否为多个请求重用连接? 如果是,我如何计算最佳保活时间?我的 http 请求响应时间平均为 25 毫秒。
【问题讨论】:
标签: java multithreading performance apache-httpclient-4.x
我有带有 http 请求池的性能关键应用程序。我的应用程序服务是突发处理批处理文件。 PoolingHttpClientConnectionManager 是否为多个请求重用连接? 如果是,我如何计算最佳保活时间?我的 http 请求响应时间平均为 25 毫秒。
【问题讨论】:
标签: java multithreading performance apache-httpclient-4.x
是的,它将为多个请求重用连接。请注意,它以每个路由的最大数量汇集连接,默认值为 2,因此您几乎肯定会想要增加它,否则它将成为瓶颈!
计算最佳保活时间并非易事,因为它取决于很多因素。爆发的频率是多少,Web 前端或应用程序服务器支持多长时间等。一般来说,我会从 5-10 秒开始测量。如果您知道爆发相隔 8 秒,请瞄准稍大一点的东西。如果突发间隔超过几分钟,那么保持连接活动这么长时间将是有问题的,因为它们往往会超时(防火墙、服务器端关闭......)。
【讨论】: