需求:要做一个秒杀, 能支持1000个人同时秒杀,我们的系统不能崩溃。
错误案例示范
1秒内的人数的运行是有先后的,1000个人在1秒钟内启动,运行完毕一次就停掉了。
由图可以看到,有的response是几十毫秒或者几百毫秒都可以处理完毕。有时候几十毫秒处理完毕后就停掉了,所以没办法保证有一千个人的。
1秒钟产生1000个线程数,导致服务器压力特别大,服务器出现异常,服务器出现异常是因为请求量特别大而出现的,并不是服务器的处理能力不行。
因为在做性能测试之前,并没有持续向服务器发起请求。
真实的情况,在秒杀之前,肯定有很多人已经登上了服务器了。
绝对不是服务器处于空闲的状态,突然来了1000个秒杀。
看系统能不能支持100个并发用户
达到100了
TPS值只有18-20左右
在一百个并发用户数的时候,每个接口的请求响应时间达到5秒多
100个人登录系统,每个接口的请求响应时间要5秒多钟才给你返回回来,用户的角度来说,是不能被接受的。
说明这个系统不能支持100个并发用户数。
增长的人数是不相等的。
这波浪型场景也是可以设计阶梯线程组的。
不同的企业追求的性能指标不一样,有的企业的项目追求tps值,有的企业的项目追求最大并发用户数,不同的企业的项目求的不一样。
Arrivals Thread
:达到多少率,tps。
Concurrency Thread
:达到多少人,并发数。
ngrinder只能设置固定人数,因为它是自动分配的。
链接:https://pan.baidu.com/s/1wROVT9dNH-Y-Bm2xTYVPYA?pwd=1234 提取码:1234
文章中的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」