使用HttpClient訪問固定幾個網絡資源的優化配置參數

當使用HttpClient調用固定的幾個網絡資源的時候,必須設置以下參數來充分使用http連接池。通過HttpClientBuilder不傳遞任何參數創建的CloseableHttpClient實例,已經配置了常用的各種默認管理及策略。其中包含連接管理和重複使用策略。build方法中使用PoolingHttpClientConnectionManager構建連接管理,CPool的默認參數:maxConnPerRoute=2,maxConnTotal=20。也就是連接池中每個HttpRoute(ip+端口)最多2個連接,總共最多20個連接。因此需要調整這2個參數來保證連接池中的連接充足,不等待過長時間才獲得連接。

  • maxConnPerRoute  每個HttpRoute最多創建的連接數
  • maxConnTotal  總共緩存的連接數
  • evictIdleConnections 剔除超過閒置時間的連接。高併發時創建的連接可以在空閒時間釋放掉。

參數可以通過調用對應的方法來配置,也可以通過設置系統變量(http.keepAlive,http.maxConnections)來配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章