<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpasyncclient</artifactId> <version>4.1.1</version> </dependency>
本人用該jar生成了兩個發送http工具的類,分別是 sync和async的請求。並加上如下參數:
static { System.setProperty("http.maxConnections","100"); System.setProperty("http.keepAlive", "true"); //創建http客戶端 HTTP_GET_CLIENT = HttpClients.custom() .useSystemProperties() .setRetryHandler(new DefaultHttpRequestRetryHandler(3,true)) .build(); HTTP_POST_CLIENT = HttpClients.custom() .build(); //初始化HTTP請求配置 REQUEST_CONFIG = RequestConfig.custom() .setContentCompressionEnabled(true) .setSocketTimeout(3000) .setAuthenticationEnabled(true) .setConnectionRequestTimeout(3000) .setConnectTimeout(3000).build(); }
使得qps從同步默認參數的800提升到現在的sync達到2600+,async達到2000+