我正在用apache http client实现rest client。
所以我用RequestConfig配置它:

<bean id="rest-client.requestConfigBuilder" class="org.apache.http.client.config.RequestConfig"
      factory-method="custom">
    <property name="socketTimeout" value="${rest.readTimeout}"/>
    <property name="connectTimeout" value="${rest.connectTimeout}"/>
    <property name="connectionRequestTimeout" value="${rest.connectTimeout}"/>
</bean>




<bean id="rest-client.connectionManager" class="org.apache.http.impl.conn.PoolingHttpClientConnectionManager">
    <property name="maxTotal" value="${rest.maxTotalConnections}"/>
    <property name="defaultMaxPerRoute" value="${rest.maxTotalConnections}"/>
</bean>


我的问题是-如何为超时,maxTotal连接等选择最佳参数?
有指导吗?因为我现在在做什么-只需随机选择这些参数即可。我认为这些值应该合理设置。您能否解释一下如何选择它们或指向好的文章?也许有一些工具可以对此进行分析?

最佳答案

以下两个问题是一个很好的起点(大多数浏览器的默认设置):Max parallel http connections in a browser?Http client timeout and server timeout
这些参数设置将在很大程度上取决于服务器负载和网络延迟。
如果将客户端部署在请求多个服务器的特定网络上,则可以测量这些超时并确定不受服务器限制和负载的连接数。

关于java - 配置RequestConfig和PoolingHttpClientConnectionManager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36280753/

10-11 02:55