zoukankan      html  css  js  c++  java
  • 注意设置httpclient连接数

    在使用Httpclient的过程中,当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpclient设置时,最大连接数采用了默认设置的原因,而默认的最 大连接数只有2个,所以当有大量连接需要建立时,大多数连接只有等待。后面将连接数设置修改成32个之后,这个响应时间就基本上很少出现很大的时候。

     HttpConnectionManager httpConnectionManager = new  MultiThreadedHttpConnectionManager();
            HttpConnectionManagerParams params = httpConnectionManager.getParams();
            params.setConnectionTimeout(5000); 
            params.setSoTimeout(20000); 
            params.setDefaultMaxConnectionsPerHost(32);//very important!! 
            params.setMaxTotalConnections(256);//very important!! 
            this.client = new HttpClient(httpConnectionManager);
            // 设置编码
            this.client.getParams().setContentCharset(CharsetHelper.GBK);
            this.client.getParams().setHttpElementCharset(CharsetHelper.GBK);

    我们一般很容易注意到设置超时时间,例如这里的红色部分,但是极有可能忘记设置每个主机的最大连接数(绿色),因此大家注意一下,本来是最简单的,但也最容易被忽略。

  • 相关阅读:
    IE浏览器和谷歌浏览器相互跳转
    centos7安装docker
    centos7安装groovy
    centos7安装NodeJs
    mongodb数据库的备份还原
    centos7最小版配置
    centos7中python2.7升级到python3.7
    typedef struct用法详解与小结
    MinGW的gdb调试
    MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本
  • 原文地址:https://www.cnblogs.com/zouhong/p/12066184.html
Copyright © 2011-2022 走看看