需求理解:
5分钟,完成5000次请求,那么1000请求/分钟,约17请求/s,也就是某请求1s中需要迭代17次;
方式一、
根据单次响应时间,算出1s中可以迭代的次数m;设置的线程数n=17/m,不限迭代次数,持续时间300s;线程数n=(5000/300)/(1/单次响应时间),即线程数=(总业务量/总业务时间)/(1/单次响应时间)=单次响应时间*总业务量/总业务时间
a)先运行1个线程,查看响应时间;
如下图,响应时间为695ms,1s该请求可迭代次数为1.4,那么想要达到17次迭代/s,需要怎么办呢?可以增加线程数到17/1.4=12;
线程数=0.695*5000/300=12;
b)线程组中设置线程数12,一直循环,勾选调度器,持续时间为300;
c)查看结果;
方式二、使用Arrivals Thread Group(到达线程组),在这个线程组中我们给予预期的业务量和业务时间,系统会自动启动线程取满足业务需求;
a)target rate中设置目标TPS,ramp up time设置加速时间,ramp-up steps count设置上升阶段数,hold target rate time设置保持目标的持续时间;
如下图,近似看为17*300=5100
TPS基本在17事务/s;
聚合报告
Active Thread Over Time(随时间变化的活动线程),可以看出最大系统并发数(启动的线程数)是19