jmeter思考时间
思考时间的作用:
控制请求发送的频率,以达到影响服务器压力,最终影响tps或响应时间的结果。
添加路径如下:
具体设置如下:
不加思考时间和加思考时间,响应时间的区别:核心思想就是thinktime不算响应时间,响应时间是指请求发送到请求返回的时间;
案例1:未达到最大tps和达到最大tps,两种情况下,思考时间对tps的影响:
10vu 不加思考时间 tps 10
10vu thinkTime 1 tps 0 10 0 10 平均tps=5
500vu thinkTime 1 tps可能还是100,只是减少了请求排队的时间
案例2:2并发,跑100秒,jmeter 发送一个请求和同时发送两个请求,哪种情况请求1的tps大?还是一样大?
(如下截图为什么响应时间没差太多,吞吐量大概是一倍的关系?)
从tps是如何计算的考虑:
tps:服务器每秒处理请求的个数;换一个说法,是工具每秒发起请求,并且被服务器处理完成的请求数量;
关注:吞吐量=样本数/运行时间
以上案例中,2个并发用户,跑100秒,响应时间(假设)在1S左右:
两个请求时:
request 1 tps= 1 0 1 0 平均tps=(1+0+1+0)/4秒=0.5*2并发=1 (无论是否并发,算法相同)
request 2 tps= 0 1 0 1
一个请求时:
request 1 tps= 1 1 1 1 平均tps=(1+1+1+1)/4秒=1 *2并发=2
总结:
所以只看request 1 的时候,一个请求时的tps大概是2个请求时的2倍,(注意:总的tps是相同的,因为服务器的处理能力不变),
由此引出精简脚本的概念,如果被压测的请求被更多其他请求干预,那被测请求的tps就不够准确。
为什么响应时间没差太多?--想公式,响应时间只累计有效的请求
平均rt=rt1+rt2+rt3+....rtN/N次数