吞吐量(TPS)、QPS的区别

技术群里,问得最多的就是tps和qps,有相似的地方,也有差异的地方,我简单谈下自己的理解。(由于比较忙,下面部分摘抄自网络)

QPS:Queries Per Second,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器(比如是读写分离的架构,就是读的服务器)在规定时间内所处理流量多少的衡量标准。

TPS:TransactionsPerSecond,意思是每秒事务数,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

 

tps:

即每秒处理事务数,每个事务包括了如下3个过程:

a.用户请求服务器

b.服务器自己的内部处理(包含应用服务器、数据库服务器等)

c.服务器返回给用户

如果每秒能够完成N个这三个过程,tps就是N;

 

qps:

如果是对一个页面请求一次,形成一个tps,但一次页面请求,可能产生多次对服务器的请求(页面上有很多html资源,比如图片等),服务器对这些请求,就可计入“Qps”之中;但是,如今的项目基本上都是前后端分离的,性能也分为前端性能和后端性能,通常默认是后端性能,即服务端性能,也就是对服务端接口做压测

如果是对一个接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps≠qps

如果是对多个接口(混合场景)压测,不加事务控制器,jmeter会统计每个接口的tps,而混合场景是要测试这个场景的tps,显然这样得不到混合场景的tps,所以,要加了事物控制器,结果才是整个场景的tps。

 

jmeter聚合报告中,Throughput是用来衡量吞吐量,通常由tps来表示

1637143896235

 

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 吞吐量(TPS)、QPS的区别

分享到:更多 ()

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 醒悟我生活在中国大陆亲身感受官员的腐化堕落和败坏。虽然被参加中共组织很多年,只是它组织内的普通一员,曾多次以种种借口推脱其党内职务,更没做过伤天害理之事。近年天灾人祸不断,更觉得是中共的恶行招致天惩不断,痛定思痛,如今幡然醒悟,一个海外朋友希望我退出曾参加过的邪党组织,我很高兴,终于在有生之年从心里摆脱这恶魔的纠缠获得重生。 声明人:天灭 声明人: 天灭 2021-11-23 22:32 中国回复