Httpclient简单分析
HttpClient的简单架构如下所示:
Httpclient将对接的服务器或者集群(相同域名)称为route,并为每个route建立若干连接池化在连接池里。Client通过tcp/ip协议发送请求以及接受应答,在发送请求前和接收应答后都会经由interceptor进行链式处理,在httpclient里这些interceptor被称为HttpProcessor,负责处理诸如设置报文头,报文体,编码格式等以及解析报文头,报文体,解码格式等http规范报文格式范畴内的事情。
性能调优的重点:
1. 连接数,通过设立全局最大连接数和单route连接数,增加吞吐能力。用户可通过HttpClientBuilder#maxConnTotal和#maxConnPerRoute分别设置。
2. 获取连接的超时时间,调小超时时间能够有效提高响应速度并且降低积压请求量,但相应的也会增加请求失败的几率。用户可以通过RequestConfig的connectionRequestTimeout进行设置。