3节 2020-12-28性能测试主要指标

论坛:lemfix.com/lemon

http://lemfix.com/topics/43436
http://lemfix.com/topics/43435

1.软件应该关注哪些性能

a. 企业关注哪些性能

关注点 性能 性能指标
服务器利用情况 资源利用率
能支持的最大用户数 系统容量
能支持的最大并发用户 并发用户数
是不是可以更换硬件提供性能 可扩展性
能不能持续运行长时间不宕机 稳定性

b. 开发人员关注哪些性能

关注点 性能 性能指标
架构设计是否合理 系统架构
数据库设计 数据库
代码逻辑 代码
线程,异步,同步,队列 实现技术
资源配置 稳定性

架构如何调整--》需要性能测试人员人提供改进方法??
数据库设计-》有效索引,分表分区-》性能测试人员提供方案?
代码逻辑-》找到存在性能问题的代码?

电商支付宝支付是异步方式
同步异步是什么意思???----后续补充

2. 性能测试主要指标

性能测试,一定是要多用户,1个人不能叫性能测试。多人一起发起接口请求,才会出现并发。

(1) 并发

狭义上:指同一时间点执行相同的操作(秒杀)
广义上:指同一时间点执行不同的操作也叫并发
如:同一时间点,有人正在点击登陆,有人正在打开登陆页等
同一时间点发起不同的请求也叫并发因为对服务器来说要同时处理同一时间点发过来的请求

(2)并发用户数(重要指标):

什么是并发用户数:同一时间点,执行相同请求的用户数

在Jmeter中一般用线程数来模拟用户数。发起方的线程数一般在1k-1.5k,超过2k,会报错。(这个与电脑配置高低是没有关系的)

疑问:相同的操作指的是访问同一个接口吗?答:不是的。
因为请求有先有后,所以不是指同一个接口,一般并发指的是广义上的并发,如果要实现狭义上的并发需要使用集合点。

集合点:
举例子说明:操场跑步,设置一个栏杆,谁先到栏杆就在栏杆处等其他人员也到达栏杆,待人员都到达目的地,再释放栏杆,从而实现真正意义上的并发,从而也避免了同一时间点发起不同的请求

(3)事务(Transaction)

指一个客户机向服务器发起请求然后服务器做出反应的过程

一个客户机代表的就是一个人
一个事务可以有1个接口请求或者多个接口请求
比如:用户登录,选购商品,加入购物车,支付,这样的一整个过程我可以定义为一个事

事务可以自己定义:你可以定义一个事务就是一个接口请求,也可以定义一个事务是多个接口请求
Jmeter中默认一个接口一次请求就是一个事务。不过也可以通过事务控制器,自己定义一个事务挂多个接口组成一个业务流

(4)响应时间(RT)(重要指标)

从发起请求到收到请求响应的时间
RT=发起请求网络传输时间+服务器处理时间+返回响应网络传输时间

做性能测试一定不能用vpn,内网切外网,堡垒机,wifi等或者用生产环境(除电信产品外),最好在局域网有线直连,从而避免网络传输时间过长,这样得到的响应时间最接近服务器的处理时间

问题:
1.为什么要避免网络传输时间-----?????
这是因为:我们最关心的就是服务器的处理时间,只有当网络传输时间足够的小,RT才能无限接近服务器处理时间,所以我们要尽可能的降低网络的延时时间,尽量使用有线网络或者独立网络。

2.为什么不能使用无线网做性能测试(电信产品除外)?
答:不管是局域网下面的wifi,还是非局域网下面的wifi,都是不可以的。
比如你开了一个wifi热点出来,多个人都连接这个热点,这样是不行的。
使用wifi首先不能保证稳定性,其次是wifi的带宽是无法控制的。频道一直变化,导致带宽不是固定的。

  在现在的企业中,除非做视频,文件存储,才可能要重点关注网络瓶颈,一般的企业,网络瓶颈概率比较低。

(5)TPS、QPS、rps

TPS(Transaction per Second): 服务器每秒处理事务数,衡量服务器处理能力的最主要指标
QPS(Queries per Second): 每秒的查询率
差异: 一个接口请求可能有多个Queries,如访问网页
rps:请求率,每秒钟请求多少次。一个接口如果是一个tps,那么tps等于rps
hps:点击率。

总结:QPS,RPS,HPS 是从用户的角度来定义性能指标。tps是服务端的性能指标


image.png

疑问:

1.事务数可以是一个请求,也可以是挂多个接口请求,那么TPS应该以一个事务就是一个接口请求,还是以多个接口请求来计算TPS的值,哪种情况得到的TPS才能代表服务器的处理能力?
答:请大家思考

2.QPS理解
答:自行思考,后续补充
一个接口有多少个查询?这个要看具体的接口,比如登录的接口到底查询了多少次,这个要怎么看登陆接口查询了多少次?

(6)吞吐量(Throughput)

概念:单位时间内处理的请求数(事务/秒)
如:港口吞吐量,一年5千万标准集装箱

吞吐量和TPS概念很相近,两个区别:
1.吞吐量用来衡量网络的指标
2. TPS用来衡量服务器的处理能力

一个事务默认一个请求,在理想的网络下(即服务器处理一个请求,网络就传输一个请求),吞吐量可能与TPS相等,网络不理想的情况下,服务器处理完3个请求,网络却只能传输1个请求,这种情况,TPS是不是会大于吞吐量?
一个事务有多个请求,在理想的网络下(服务器处理完多个请求,网络同时传输多个请求),吞吐量与TPS是不相等的(这种情况下,吞吐量是不是大于事务数?)

总结:在没有网络瓶颈时且在并发数据不变的情况下,吞吐量的数值和tps数值相等

(7)吞吐率

概念:单位时间通过的数据的平均速率(kB/s)
或者单位时间传入的数据量
如:港口日吞吐率,年吞吐量/365天

问题:
(1)吞吐量是单位时间,吞吐率也是单位时间,比如是每秒处理的请求数是10个请求
那么吞吐率怎么算?10/1(kb/s)???------答:吞吐量是10,吞吐率是10kb/s
(2)理想吞吐率换算
1B=8bit
1Mb/s=1024kb/s=1024/8 KB/s=128 KB/s
1兆的网络,最理想的吞吐率是128KB/s

(8)点击率(Hit per Second)

概念:每秒点击数

点击率如何计算??web端性能测试时。要模拟用户点击,这个点击率才会关心,接口性能测试不需要。

(9)资源利用率

概念: 指被测服务器资源的使用情况,比如服务器(应用及数据库)的cpu利用率,内存利用率,磁盘利用率,网络宽带利用率等。
cpu利用率
内存利用率
磁盘I/O
一般都不要超过80%
服务器如果是16核cpu,不能看单核的cpu使用率,单核可以超出100%。

2.性能测试步骤

(1)性能测试准备

  a1. 需求分析------》熟悉业务,不能完全听信需求文档,因为有些功能无法做性能测试,要测试的功能不能转换成性能指标,就无法做性能测试。
  a2. 明确性能测试目标(指标值)
  a3.了解软件功能,架构--------》产品之间有几个服务,需要搞清楚数据流,否则无法搭建性能测试环境,以及出现性能瓶颈,无法定位是哪个服务(项目经理,架构师,开发帮忙)
  a4.  指定测试计划,做好工作量评估
  a5.  制定测试模型(编辑测试用例)
    测试模型核心是场景,但是不等于场景,因为还包括工具选定,性能指标分析等

( 2)搭建性能测试环境

a1.工具选型与准备
a2.被测系统环境搭建(服务器,服务器版本更新,数据库数据准备)
性能测试环境需要独立,不能与自动化,功能共用一个环境(避免相互干扰)

a3.网络配置

( 3)性能测试脚本开发

a1.选取协议
a2.制作脚本
a3.调试脚本
a4.验证脚本

(4)性能测试脚本执行

a1.试运行
a2.场景执行

(5)结果分析与调优

a1.分析依据:结果图表
a2.分析思路:服务器硬件瓶颈-》网络瓶颈-》服务器os瓶颈(参数配置,数据库,web服务器)->应用瓶颈(sql语句,数据库设计,业务逻辑,算法)
查看tomcat8080端口连接数命令
netstat -anp | grep 8080 | wc-l
查看tomcat8080端口当前活动的连接数(没有释放的连接数)
netstat -anp | grep 8080 | grep ESTAB | wc-l

a3.调优
a4.修改脚本或场景

(6)测试报告与结果跟踪

a1.性能测试报告
a2.性能测试问题跟踪

3.开展性能测试必备条件

a1.网略要求: 内网(zoom域) 外网 独立分开,千万不要用跨内网外网(比如公司用云服务器,那么是不能做性能测试的,因为云服务器核公司网络是跨域的)
公网外网:公司的网络就是内网,用公司的网络访问百度,百度就是外网

a2.独立环境 功能测试不能和性能测试共用环境
自己搭建一套与生产硬件资源相同的服务器,比如生产服务器是8核的,内存是64g的,那么测试环境服务器也要是相同的配置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352