问题
前几天,一提升圈圈友发了下图这样一个性能需求,问jmeter中需要设置多少线程数。
看到这个问题,我也一脸懵逼,着实没看出性能需求是啥,一般来说,衡量服务器的关键指标有:tps(每秒事务数)、rt(响应时间)
分析
一般来说,公选课是有人数限制的,比如,这门课只允许500人选中,其余都选不中,这就有点像抢购了。
这种偶尔才有的一次“抢购”,一般会通过限流、服务降级、熔断保证服务正常运行,而不至于服务都挂了,哪怕有多门公选课,完全可以分时段开放,这样也分流了。
大家还记得小米的饥饿营销吧?一点抢购,都被重定向到一个静态页面了。
有人说,今天618也是抢购,需要很高的tps,这个和选课还不一样,类似618、双11这样的购物日,当然是卖得越多越好,所以一般都是有弹性扩容的,保证服务器性能和正常运行。
很多时候,业务或者开发给的性能需求是不合理的,此时就需要性能测试人员来引导他们,出一个合理的性能需求;
极端假设,1w人都选成功,也就是业务量是1w,而选课会给一个时间段吧?比如1-2天,这里假设是1分钟选课时间,1w/60s=166.7,也就是说,tps只需要大于这个数值即可。