1、定义
TPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。在jmeter中如果没有定义事务,会把每个请求作为一个事务。
QPS:Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。
如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps不等于qps
2、计算
jmeter聚合报告中,Throughput是用来衡量请求的吞吐量,也就是tps
tps=样本数/运行时间,
样本数即并发请求数,
运行时间=RT(响应时间)+tt(思考时间,think time)
即Tps=并发数/(RT+tt)
eg1:100并发,RT0.2S,tt不控制=0,那么Tps=100/0.2=500tps
eg2:100并发,RT0.2S,如果使用Throughput Shaping Timer自动控制tt,即tt=0.8s,那么Tps=100/(0.2s+0.8s)=100tps