我正在用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/