开发者社区> 问答> 正文

使用resttemplate调用http接口性能问题

有A接口
对A接口做压力测试,可达4000TPS
设计B接口 B接口什么都不做只管用resttemplate将请求转发至A接口
对B接口做压力测试TPS只有1500多 还出现了超时现象
以下是用创建resttemplate使用的httpclient使用的配置

    @Bean
    public HttpClient httpClient() {
        Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory> create()
                .register("http", PlainConnectionSocketFactory.getSocketFactory())
                .register("https", SSLConnectionSocketFactory.getSocketFactory())
                .build();
        PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
        connectionManager.setMaxTotal(500);
        connectionManager.setDefaultMaxPerRoute(500);

        /**
         *  请求参数配置
         *  connectionRequestTimeout:
         *                          从连接池中获取连接的超时时间,超过该时间未拿到可用连接,
         *                          会抛出org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
         *  connectTimeout:
         *                  连接上服务器(握手成功)的时间,超出该时间抛出connect timeout
         *  socketTimeout:
         *                  服务器返回数据(response)的时间,超过该时间抛出read timeout
         */
        RequestConfig requestConfig = RequestConfig.custom()
                .setCookieSpec(CookieSpecs.DEFAULT)
                .setExpectContinueEnabled(true)
                .setSocketTimeout(5000)
                .setConnectTimeout(5000)
                .setConnectionRequestTimeout(5000)
                .build();

        return HttpClientBuilder.create()
                .setDefaultRequestConfig(requestConfig)
                .setConnectionManager(connectionManager)
                .build();
    }

有两个问题~
1.B接口什么都不做去调用A接口时,B接口的tps数据是否应该和A接口一样
2.为什么仅仅的一个转发请求tps下降了这么多

展开
收起
huangqq 2018-06-13 10:07:07 10244 0
2 条回答
写回答
取消 提交回答
  • 我也遇到了,请问博主有什么好的解决办法

    2020-01-16 09:24:40
    赞同 展开评论 打赏
  • 我也遇到大概相同的问题,我使用Curl去掉接口,返回的速度大概是0.2s,但是在Java程序中通过RestTemplate发起请求,缺需要3s钟左右,请问博主问题解决了吗?

    2019-12-18 19:42:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路 立即下载
CDN助力企业网站进入HTTPS时代 立即下载
低代码开发师(初级)实战教程 立即下载