0


【项目实战】性能测试之压力测试的系统性能指标基本介绍

一、QPS是什么?

  • 因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS。
  • QPS对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

二、OPS不等于TPS

  • 【QPS】通常QPS用来表达和衡量当前系统的负载,也可以用RPS来表示,形容当前系统的运行状态时可以说当前QPS已经达到多少多少了, 在系统环境不变的情况下存在支持的最大QPS
  • 【TPS】但并不应该用来形容机器的性能。 可以通过提高TPS来提升当前系统的处理能力,来增加最大QPS的支持。 TPS用来形容机器的性能。

三、QPS计算关系与原理:

QPS = 并发量 / 平均响应时间 并发量 = QPS * 平均响应时间
QPS = req/sec = 请求数/秒

  • 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
  • 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数>(QPS)
  • 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

四、系统性能指标计算公式

峰值QPS/QPS/PV/UV/服务器数量/并发数/吞吐量(TPS)/响应时间(RT)

4.1 QPS

每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

每秒查询率
(Query Per Second)

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。 (看来是类似于TPS,只是应用于特定场景的吞吐量)

QPS Queries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。

每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力。
QPS = req/sec = 请求数/秒
QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 * 请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

4.2 峰值QPS

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)

4.3 TPS

Transactions Per Second

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

4.4 响应时间(RT)

指系统对请求作出响应的时间。

一般取平均响应时间。可以通过Nginx、Apache之类的Web Server得到。
直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。
  对于单机的没有并发操作的应用系统而言,人们普遍认为响应时间是一个合理且准确的性能指标。需要指出的是,响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。对于一个游戏软件来说,响应时间小于100毫秒应该是不错的,响应时间在1秒左右可能属于勉强可以接受,如果响应时间达到3秒就完全难以接受了。而对于编译系统来说,完整编译一个较大规模软件的源代码可能需要几十分钟甚至更长时间,但这些响应时间对于用户来说都是可以接受的。

4.5 吞吐量(Throughput)

系统在单位时间内处理请求的数量。

简单浏览器过程就是一个请求和响应的过程,

  • 在无并发的情况下,吞吐量还是响应时间的倒计时.
  • 相反,在并发应用下,这个就成为机器的标准。

对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。前面已经说过,对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能,但对于并发系统,通常需要用吞吐量作为性能指标。

对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n×t,而往往比n×t小很多(当然,在某些特殊情况下也可能比n×t大,甚至大很多)。这是因为处理每个请求需要用到很多资源,由于每个请求的处理过程中有许多不走难以并发执行,这导致在具体的一个时间点,所占资源往往并不多。也就是说在处理单个请求时,在每个时间点都可能有许多资源被闲置,当处理多个请求时,如果资源配置合理,每个用户看到的平均响应时间并不随用户数的增加而线性增加。实际上,不同系统的平均响应时间随用户数增加而增长的速度也不大相同,这也是采用吞吐量来度量并发系统的性能的主要原因。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

4.6 并发用户数 与 并发量

并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。

与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。

  • 并发:一段时间访问的大量用户的请求
  • 并行:同一时刻的大量用户的请求

以一网站系统为例,假设用户只有注册后才能使用,但注册用户并不是每时每刻都在使用该网站,因此具体一个时刻只有部分注册用户同时在线,在线用户就在浏览网站时会花很多时间阅读网站上的信息,因而具体一个时刻只有部分在线用户同时向系统发出请求。这样,对于网站系统我们会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。
由于注册用户可能长时间不登陆网站,使用注册用户数作为性能指标会造成很大的误差。而在线用户数和同时发请求用户数都可以作为性能指标。相比而言,以在线用户作为性能指标更直观些,而以同时发请求用户数作为性能指标更准确些。

4.7 PV(Page View)

页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次。

可以统计服务一天的访问日志得到。

访问量即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次
单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

4.8 UV(Unique Visitor)

独立访客,统计1天内访问某站点的用户数。

可以统计服务一天的访问日志并根据用户的唯一标识去重得到。
访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次

4.9 服务器数量

机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
机器:ceil( 每天总PV / 单台服务器每天总PV )

五、经典例题

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:(3000000*0.8)/(86400*0.2)=139(QPS)
问:如果一台机器的QPS是58,需要几台机器来支持?
答:139/58=3

本文转载自: https://blog.csdn.net/wstever/article/details/129652014
版权归原作者 本本本添哥 所有, 如有侵权,请联系我们删除。

“【项目实战】性能测试之压力测试的系统性能指标基本介绍”的评论:

还没有评论