1、TPS(Transactions Per Second): 每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等,事务可以是一个完整的业务操作,如转账、下单等,通常涉及多个数据库操作。以单接口定义为事务举例,每个事务包括了如下3个过程: (1)向服务器发请求 (2)服务器自己的内部处理(包含应用服务器、数据库服务器等) (3)服务器返回结果给客户端 如果每秒能够完成 N 次以上3个过程,TPS 就是 N。 TPS 是软件测试结果的测量单位。我们在进行服务性能压测时,接口层面最常关注的是最大 TPS 以及接口响应时间,TPS 可以指一组逻辑相关的请求,而服务整体处理能力取决于处理能力最低模块的TPS值。 2、QPS(Queries Per Second): 每秒查询率,即每秒的响应请求数,也就是最大吞吐能力。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标,比如dns,它不包含复杂的业务逻辑处理,比如数据库中的每秒执行查询sql的次数,这些查询可以是数据库查询、API 调用等。QPS 只是一个简单查询的统计显然,不能描述增删改等操作,显然它不够全面,所以不建议用 QPS 来描述系统整体的性能; QPS 基本类似于 TPS,但是不同的是,对于一个事务访问,会形成一个 “ T ”;但一次 " T " 中,可能产生多次对服务器的请求,服务器对这些请求,就可计入 QPS 之中。 例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q” 3、区别: (1)如果是对一个查询接口压测,且这个接口内部不会再去请求其它接口,那么 TPS = QPS,否则,TPS ≠ QPS (2)如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = N * TPS
- QPS 更侧重于衡量服务器的查询处理能力,主要关注单个请求的处理速度。
- TPS 更侧重于衡量服务器的业务处理能力,关注多个请求组合在一起完成一个完整业务操作的速度。
4、计算公式:
QPS 的计算公式:QPS = 请求数 / 时间(秒)
TPS 的计算公式:由于事务可能涉及多个查询,因此不能直接通过请求数计算 TPS。但通常可以通过测量系统每秒钟能够处理的事务数量来估算 TPS。
5、QPS 与 TPS 在高并发场景下的表现:
- QPS 的表现:随着并发用户数的增加,QPS 通常会呈现上升趋势,但当达到服务器或数据库的处理能力极限时,QPS 的增长速度会明显放缓,甚至可能出现下降。
- TPS 的表现:由于事务可能涉及多个查询,因此在高并发场景下,TPS 的表现更加复杂。除了服务器的处理能力外,还受到网络延迟、数据库性能等因素的影响。
在高并发场景下,QPS 和 TPS 的表现都会受到压力测试的影响,确保 QPS 和 TPS 的稳定和高效是非常重要的。可以通过优化代码、增加服务器资源、优化数据库查询等方式来提升系统的并发处理能力。同时,合理的压力测试和性能监控也是确保系统稳定运行的关键。
标签:请求,区别,接口,查询,TPS,服务器,QPS From: https://www.cnblogs.com/beatle-go/p/18299212