TPS(每秒处理事务数)
一个事务是指客户端向服务器发送请求然后服务器做出反应的过程
- 单请求事物
事物由单个接口请求构成。如一次登录,一次查询 - 多请求事物
事物由多个接口请求构成。如登录-查询-新增-退出。这四步操作构成一个完整的事物
TPS的决定性因素
事务是要靠虚拟用户完成
1个用户在1秒内完成1笔事务,那么TPS就是 1
1个事物响应时间是1ms,那么1个用户在1秒内能完成1000笔事务。TPS就是1000
1笔业务响应时间是1s,那么1个用户在1秒内只能完成1笔事务。想达到1000TPS就至少需要1000个用户
因此可以说1个用户能产生1000TPS, 1000个用户也可以产生1000TPS,由响应时间决定
Rps 每秒发起的请求数
并发数=rps*平均响应时间
RPS用来描述施压引擎实际发出的压力大小
RPS模式主要是为了站在服务端视角去直接衡量系统的吞吐能力-TPS而设计的
并发过低时可能达不到预期的RPS,并发过高时可能压力过大直接压垮服务器
按照被压测端需要达到的TPS去设置相应的RPS,应用场景主要是一些动态的接口API,比如登陆、提交订单
RPS 就是每秒请求数(Request Per Second),它描述了施压引擎向服务器实际发出的压力大小。
- 从用户角度来说,rps是每秒钟点击的次数
- 从客户端角度来说,rps是每秒向服务端发出的请求数
- 使用工具的最终目的就是为了利用线程数和迭代次数模拟出和用户每秒点击相匹配的压力值,施压服务端,得到性能数据
Rps 由并发数,和服务器响应时间决定。并发数过低时可能达不到预期的 RPS,并发数过高时可能压力过大直接就压垮了服务器。
Ramp-up-period
jmeter在线程组中有一个可调节的数值:Ramp-up-period,它表示启动所有线程需要的时间,单位是秒
设置了100个线程,迭代次数=1,Ramp-up-period=25,那么它表示我将在25秒内启动100个线程,也就是每秒钟启动4个线程。
每个线程启动之间的间隔时间是25/100=0.25s,也就是250ms。
换个理解方式,它表示了我们预期给服务器的压力就是每秒钟发送4个请求。也就是说,设置的RPS=4/s