分析httpasyncclient的異步請求


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

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