3.31-2 性能指标

性能指标

一、性能测试指标

性能测试是通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。
目的:验证软件系统是否能够达到用户提出的性能指标,发现系统中存在的性能瓶颈并加以优化。
二、性能指标分为两大类: 

软件指标:
术语 释义

(1)TPS:   (每秒事务数) 在每秒时间内系统可处理完毕的事务数。TPS很大程度体现系统性能能力。
TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。事务可以是用户自定义的一系列操作或者动作的集合,比如“用户注册“事务是点击注册按钮,填写用户注册信息,点击提交按钮,以及加载注册成功页面的动作集合。
 

图片

这3个个公式都是对的

第1个公式计算的是绝对的TPS,也是瞬间TPS,jmeter中的throughput是吞吐量是平均TPS,这个绝对TPS指的是某个点的值

第2个公式计算的是业务的TPS,指的是每天80%的业务量都是发生在20%的时间内,列如当前线上APP1.0试⽤系统主要为查询类交易,交易占⽐40%,系统⽣产交易量统计为1个⽉约20W笔,假设APP2.0系统上线后业务量激增到每⽇查询类20W,则每⽇总交易量T达到:

T = 20W/40%=500000笔/⽇

系统处理能⼒TPS推导:APP2.0上线后交易量最⼤500000笔/⽇,系统晚间⼏乎⽆交易量,按2:8原则推算,则(500000*80%)/(8*20%*3600)=69.4笔/秒,取整为70笔/秒,每年按业务量增长50%计算,则⼀年后系统处理能⼒指标约等于

70+70*50%=105笔/秒。

第3个公式计算和第2个有点类似,但是加了一个冗余系数这个是为了后续业务增长做容量规划使用的,比如现在的系统需要支持105笔/秒,后续随着业务增加可以扩个2-5倍。

 (2)QPS(Query Per Second)是指单位时间内查询或访问服务器的次数。
TPS和QPS的区别:

TPS和QPS的区别在于一个事务可以包含多次查询或访问服务器,也可以只查询或访问一次服务器。当多次查询或访问时,一个TPS相当于多个QPS;当只查询或访问一次时,一个TPS则等价于一个QPS。
 

(3)错误率: 经系统处理的事务出现错误的概率,对应着实际用户使用系统功能失败的情况。理想情况下错误率应保持极低水平。 公式:错误接口数/接口数=错误率

(4)响应时间

(一)

响应时间 :对请求作出响应所需要的时间

响应时间:响应时间=网络响应时间+应用程序响应时间=(N1+N2+N3+N4)+(A1+A2+A3)

标准可参考国外的3/5/10原则:
(1)在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”;

(2)在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”;

(3)在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”;

(4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去;

平均响应时间 :所有请求平均花费的时间如果有100个请求,其中 98 个耗时为 1ms,其他两个为 100ms

国内:258原则:

2秒很好,5秒可以接受,8秒垃圾

(二)

平均响应时间: (98 * 1 + 2 * 100) / 100.0 = 2.98ms,但是,2.98ms并不能反映服务器的整体效率,因为98个请求耗时才1ms,引申出百分位数

(三)百分位数:以响应时间为例,指的是 98% 的请求响应时间,都处在这个值以下,更能体现整体效率

(5)并发

并发是指多个用户在同一时期内进行相同的事务处理或操作。由于用户在进行一系列操作流程时有一定的时间间隔(即用户思考时间)或者服务器处理请求有先后顺序,于是,就产生了绝对并发和相对并发概念的区分。
绝对并发是指同一时刻(即同一时间点)并发用户对服务器同时发送请求。
相对并发是指一段时间内(即同一时间区间)并发用户对服务器发送请求
并发数 :测试时同时系统发出事务请求的数量,并发线程数用以模拟同时与系统建立连接的用户。
并发用户数: 同时向系统发出事务请求的数量

并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的 操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。
  另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。
  可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。

并发主要是针对服务器而言,在同一时刻与服务器进行交互(指向服务器发出请求)的在线用户数。
在线用户:指某段时间内,用户访问系统的用户数,如多个用户在浏览网页,但没有对同时对服务器进行数据请求,需要与并发用户数区分开。
(6)在线用户:指某段时间内,用户访问系统的用户数,如多个用户在浏览网页,但没有对同时对服务器进行数据请求,需要与并发用户数区分开。

(7)最佳并发用户数: 最佳并发用户数:当系统的负载等于最佳并发用户数时,系统的整体效率最高,没有资源被浪费,用户也不需要等待  

(8) 最大并发用户数:
最大并发用户数:系统的负载一直持续,有些用户在处理而有的用户在自己最大的等待时间内等待的时候
案例:
理发店模式,简单地阐述一下,一个理发店有3个理发师,当同时来理发店的客户有3个的时候,那么理发师的资源能够有效地利用,这时3个用户数即为最佳的并发用户数;当理发店来了9个客户的时候,3个客户理发,而6个用户在等待,3个客户的等待时间为1个小时,另外的3个客户的等待时间为2小时,客户的最大忍受时间为3小时包括理发的1个小时,所以6个客户的等待时间都在客户的可以承受范围内,故9个客户是该理发店的最大并发用户数

(9)系统的平均负载:在特定的时间内,系统正在处理的用户数和等待处理的用户数的总和

(10)峰值:指的是系统的最大能承受的用户数的极值
只有最大并发用户数的大于系统所能承受的峰值负载,才不会造成等待空间资源的浪费,导致系统的效率低下
事务:可以看作是一个动作或是一系列动作的集合,例如登录,从登录开始到登录结束为一个事务。
(11)HPS(Hits per Second):一秒钟的时间内用户对Web页面的链接、提交按钮等点击总和

(12)吞吐量 :单位时间内处理的客户端请求数量

(13)吞吐率:单位时间(可以是秒/分/时/天)内网络成功传输的数据量,如请求数/秒、页面数/秒
吞吐量/传输时间,就是吞吐率.

吞入率 :单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数
吞吐率:

①业务角度:单位时间(每秒)的请求数或页面数,即请求数/秒或页面数/秒;

②网络角度:单位时间(每秒)网络中传输的数据包大小,即字节数/秒等;
③系统角度,单位时间内服务器所承受的压力,即系统的负载能力。
(14)点击率:单位时间每秒钟向web服务器提交的HTTP请求数
每秒钟用户向WEB服务器提 交的HTTP请求数.这个指标是WEB应用特有的一个指标:WEB应用是"请求-响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位.如果把每次点击定义为一个交易,点击率和TPS就是一个概念.容易看出,点击率越大,对服务器的压力越大.点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求.

案例:
比如公众号的一篇文章被浏览了10w次,文章中的广告链接被点击了2000次,那么这条广告的点击率是2%(2000/100000*100%)

(15)点击数:指Web Server收到的HTTP请求数
(16)点击量:向web服务器提交的HTTP请求数
(17)PV和UV是衡量web网站性能容量的两个重要度量指标,经常用在电子商务网站领域中用来衡量网站的活跃度。
(1)PV(Page View)是页面的浏览量或点击量,用户对系统或者网站任何页面的每一次点击或者访问都会被记录一次浏览量或点击量,对相同页面进行多次访问浏览量或点击量也会进行累计。

(2)UV(Unique Vistor)是系统或者网站的独立访客,一段时间内相同客户端(或PC)访问系统或者网站只会被记录一次,连续重复访问或者浏览多个系统页面次数不会进行累计。
PV和UV按照统计周期划分,可以划分为全天PV、每小时PV、全天UV和每小时UV等。在一些数据或交易量非常庞大的场景中,比如双11或618等全民购物活动时,常常还会统计峰值PV和峰值UV

二.硬件指标

cpu、 磁盘 .网络、内存,硬盘

(1)cpu

(2)内存   Memory

内存:与cpu沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存分为物理内存、页面交换(Paging),SWAP内存(虚拟内存)

(3)磁盘I/O(Disk I/O),

磁盘吞吐量,指单位时间内通过磁盘的数据量。主要关注磁盘的繁忙率,如果高于70%,则磁盘瓶颈

(3)网络I/O(Network I/O)

网络吞吐量,指单位时间内通过网络的数据量,当吞吐量大于网路设备或链路最大传输能力,即带宽时,则应该考虑升级网络设备或者增加带宽,Linux命令netstate

查看硬件 指标的命令

命令1: # cat /proc/cpuinfo          //获取CPU详情

命令2: # top       //包含CPU、内存使用等情况,常用命令

命令1: # free –h    内存

命令1:#uptime负载  

命令3:#w

 磁盘

命令1: #fdisk –l           //查看硬盘及分区情况

命令2:# df –h          //查看文件系统的磁盘空间使用情况

整体

命令:# vmstat 3 2         //每3秒一次,共2次

图片

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值