1、TPS:
Transactions Per Second,意思是每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等等。以单接口定义为事务举例,每个事务包括了如下3个过程:
(1)向服务器发请求
(2)服务器自己的内部处理(包含应用服务器、数据库服务器等)
(3)服务器返回结果给客户端
如果每秒能够完成 N 次以上3个过程,TPS 就是 N。
TPS 是软件测试结果的测量单位。我们在进行服务性能压测时,接口层面最常关注的是最大 TPS 以及接口响应时间,个人理解 TPS 可以指一组逻辑相关的请求,而服务整体处理能力取决于处理能力最低模块的TPS值。
2、QPS:
Queries Per Second,意思是每秒查询率。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标,比如dns,它不包含复杂的业务逻辑处理,比如数据库中的每秒执行查询sql的次数。QPS 只是一个简单查询的统计显然,不能描述增删改等操作,显然它不够全面,所以不建议用 QPS 来描述系统整体的性能;
QPS 基本类似于 TPS,但是不同的是,对于一个事务访问,会形成一个 “ T ”;但一次 ” T ” 中,可能产生多次对服务器的请求,服务器对这些请求,就可计入 QPS 之中。
3、区别:
(1)如果是对一个查询接口压测,且这个接口内部不会再去请求其它接口,那么 TPS = QPS,否则,TPS ≠ QPS
(2)如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = N * TPS
(备注:该文章整理自网上,所以文章内容会有很多雷同)
TPS:(Transactions Per Second),即每秒执行的事务总数。
首先一个事务包括三个动作,即客户端请求服务端,服务端内部进行处理,服务端对客户端进行响应。
将这三个动作看成一个整体,并将之称为一个事务,若在一秒内,服务端可以完成N个事务,则这个服务端的TPS为N。
一般来说,评价系统的性能主要看系统的TPS,系统的整体性能取决于性能最低模块的TPS值。
(木桶的容量取决于最短板,当然你不能把木桶斜着放,斜着放虽然能够改变木桶容量的依赖,此时依赖变为最长板,但会产生额外的消耗,比如需要一直扶住木板,或者产生木桶歪倒的风险)
QPS:(Queries Per Second),及每秒执行的查询总数(每秒有多少的请求响应)
客户端请求一个地址时,比如百度首页,其实会产生很多的请求,比如js、css、png等,像这样的每个单个请求都可以算作查询次数。
若在一秒内,客户端请求服务端的首页,服务端返回了N个内部链接(js、css、png、html等),那么服务端的QPS就为N。
QPS反映系统的吞吐能力,更偏向于读取文件,查询数据。
若在一秒内,用户请求了百度首页并看到了首页全貌,这样就形成了一个TPS,但却形成了多个QPS。
若在一秒内,我们请求一个单调的网页,此网页只有一个html,不包含任何其他内部链接,此时TPS=QPS。
标签: QPS, TPS