QPS、TPS、并发量、系统吞吐量的概念

精选30+云产品,助力企业轻松上云!>>> hot3.png

  • 目录
  • 1.前言
  • 2.名词概念
  • 2.1 系统吞吐量
  • 2.2 PV页面浏览量
  • 2.3 UV独立访客访问数
  • 2.4 QPS每秒查询率
  • 2.4.1计算原理
  • 2.4.2计算公式
  • 2.4.3机器数量
  • 2.4.4实例求解
  • 2.5 TPS每秒处理事务数
  • 2.5.1 QPS与TPS的区别
  • 2.5.2 QPS计算关系
  • 2.6 并发量
  • 2.7 响应时间(RT)
  • 3. 案例解析
  • 3.1案例1:上班签到系统
  • 3.2案例2:秒杀活动
  • 3.3案例3:余额宝转出处理

1.前言

最近接触的一些项目,让我了解到了一些名词,以前也接触过,但是太容易搞混了,开个单章记录,希望以后碰到了能够及时反应过来某个名词对应的是什么意思。

2.名词概念

2.1 系统吞吐量

应用系统每秒钟最大能接受的用户访问量或者每秒钟最大能处理的请求数

一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

2.2 PV页面浏览量

PV(page view)即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。网页浏览数是评价网站流量最常用的指标之一,简称为PV。

2.3 UV独立访客访问数

指独立访客访问数,一台电脑终端为一个访客。

2.4 QPS每秒查询率

每秒查询率(Queries Per Second),是一台服务器每秒能够处理完的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。(注意是处理完)

2.4.1计算原理

每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。

2.4.2计算公式

( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)

2.4.3机器数量

峰值时间每秒QPS / 单台机器的QPS = 需要的机器

2.4.4实例求解

每天300w PV 的在单台机器上,这台机器需要多少QPS?

按照公式计算如下:

( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

一般需要达到139QPS,因为是峰值。

PS:在实际计算中使用二八原则:理论结果乘以80%大概才是实际系统的并发量。

2.5 TPS每秒处理事务数

每秒处理事务数(TransactionsPerSecond),是软件测试结果的测量单位,一般TPS是对整个系统来讲的。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

请求主要包含三个过程:

  • 用户请求服务器
  • 服务器内部处理
  • 服务器返回数据给用户

而每秒能够完成N个这三个过程,就是TPS。

2.5.1 QPS与TPS的区别

QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。

例如:访问一个页面会请求服务器3次,一次访问,就产生一个TPS,产生3个QPS

2.5.2 QPS计算关系

QPS = 并发量 / 响应时间

并发量 = QPS * 平均响应时间

 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

2.6 并发量

系统能同时处理的请求数指系统可以同时承载的正常使用系统功能的用户的数量。

2.7 响应时间(RT)

是指系统对请求作出响应的时间,一般取平均时间

3. 案例解析

3.1案例1:上班签到系统

一个典型的上班签到系统,早上8点上班。7点半到8点这30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每一个员上登录签到系统的时长为5分钟。能够用以下的方法计算。

(1)QPS = 并发量/(响应时间)=1000/(30*60) 事务/秒 

(2)平均响应时间为 = 5*60  秒   

(3)并发数= QPS*平均响应时间 = 1000/(30*60) *(5*60)=166.7

3.2案例2:秒杀活动

假如客户要做秒杀活动,客户系统中有500个用户,平均每个用户请求秒杀时长为300毫秒,整个活动要在1秒钟完成。

(1)QPS = 500/1 事务/秒 

(2)平均响应时间为 = 300毫秒 = 0.3秒

(3)并发数= QPS*平均响应时间 = 500*0.3=150

3.3案例3:余额宝转出处理

假设余额宝每小时可以处理3000万用户的转出请求,每秒可以处理4000交易。

每秒可以处理的请求数 QPS(TPS)=4000/s

转出:QPS=并发量/(响应时间)= 30000000/3600=8333 事务/秒

平均响应时间: 假如为0.3秒

并发量= 8333*0.3=2500

你可能感兴趣的:(QPS、TPS、并发量、系统吞吐量的概念)