jmeter发送请求时,加入了Timer后,无法达到后台饱和的TPS

后台:  后台tomcat最大线程数100,处理请求时间100ms。
Jmeter:Sampler-Http请求-Implementation为默认的HTTPClient4。


现象:
1.无Timer
1).jmeter并发10,得到tps为100;后台看到Current thread busy为10;符合预期;
2).jmeter并发50,得到tps为500;后台看到Current thread busy为50;符合预期;
3).jmeter并发100,得到tps为1000;后台看到Current thread busy为100;符合预期;


2.有Timer
1).jmeter并发10,加上Timer为100ms,得到tps为45;后台看到Current thread busy为12;不符合预期;
  从jmeter看,tps=并发数/总的处理时间=10/(100ms+100ms)=50;
  为了达到前台预计的50tps,后台只需有100ms×50个线程服务即可;
  但是观测到后台有12个线程提供服务;
  
2).jmeter并发50,加上Timer为100ms,得到tps为224;后台看到Current thread busy为50;不符合预期;
从jmeter看,tps=并发数/总的处理时间=50/(100ms+100ms)=250;
  为了达到前台预计的250tps,后台只需有100ms×250个线程服务即可;
  但是观测到后台有50个线程提供服务;
  
处理:
将Sampler-Http请求-Implementation改为Java,重新测试:
1.无Timer
与HTTPClient4一致;


2.有Timer
1).jmeter并发10,加上Timer为100ms,得到tps为46;后台看到Current thread busy为10;不符合预期;(猜测是线程数样本少)
2).jmeter并发50,加上Timer为100ms,得到tps为235;后台看到Current thread busy为30;符合预期;
2).jmeter并发100,加上Timer为100ms,得到tps为450;后台看到Current thread busy为54;符合预期;


后续:
看一下Implementation为HttpClient4和java的区别;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值