第一眼看到这个问题就是认为httpclient 的链接池里面的链接不够用了,一般不设置的话路由是2总链接是20
但是为啥不够用才是最重要的问题根据我们这边的排查结果从以下几个方面排查
1.先看看你的httpclient请求完了是否关闭响应流,或者把响应对象进行了消费如EntityUtils.consumerQuietly (res.getEntity())
2.看看请求的server 端是不是一直报错(比如超时等等)
3.排查server 返回的报文头(Transfer-Encoding)举个例子,如果我们要传输一本“红楼梦”小说到服务器,chunked方式就会先把这本小说分成一章一章的,然后逐个章节上传,而identity方式则是从小说的第一个字按顺序传输到最后一个字结束
4.jar包冲突,特别是三方提供的sdk 就是重点排查的对象比如三方的里面也是封装了不完整的httpclient