Jmeter接口压力测试过程中,遇到网络瓶颈,根据结果发现怎么看也不对劲
主要因为接口请求的时候没有添加请求头:Accept-Encoding的属性
HTTP Header中Accept-Encoding 是客户端发给服务器,声明客户端支持的编码类型
一、第一次压力测试如下:
Received KBytes per Second/Throughput=21kb多
而我用手机代理查看才4KB多
TPS如下
服务器出口百兆带宽,从下载速率可以看出,带宽基本满了
二、使用手机抓包代理调试,看返回大小
1、客户端请求的Headers如下:
可以看出80.9%被压缩了,服务端在网络传输过程中传过来的response是4.11KB
2、修改Headers,去除Accept-Encoding属性
请求如下:
Response:可以看出数据传输中body没有压缩,服务端支持的话,这样请求就会浪费服务端带宽
三、添加请求头如下:主要增加Accept-Encoding属性
再次压测:可以看出TPS已经增大,KBytes Received per Second/Throughput约等于4.11KB
TPS:带宽瓶颈没变,但是tps上来了
带宽速率如下: