2016-03-29 8 views
0

私はapache httpクライアントでrestクライアントを実装しています。 だから私はRequestConfigとそれを構成しています:RequestConfigとPoolingHttpClientConnectionManagerをコンフィグレーションする

<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> 

との私の質問は - Iタイムアウト、maxTotal接続などのためにピックアップ最善のパラメータはどうすればよいですか? ガイドがありますか?私が今やっていることは、それらのパラメータを無作為に選んでいるからです。私はこれらの価値を合理的に設定すべきだと考えます。あなたはそれらを選ぶ方法や良い記事を指摘してください。そして、これをプロファイルするためのツールがありますか?

答えて

1

これらの2つの質問は良い出発点です(ほとんどのブラウザのデフォルト設定)。Max parallel http connections in a browser?Http client timeout and server timeout これらのパラメータの設定は、サーバーの負荷とネットワークの待ち時間によって大きく異なります。 クライアントが複数のサーバーを要求する特定のネットワークに展開される場合は、これらのタイムアウトを測定し、サーバーの制限と負荷がない場合の接続数を判断できます。