性能测试基础

一、性能测试

1、性能测试

性能测试是系统测试的一种,通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试

2、性能测试的目的

I 确定系统瓶颈,有针对性的进行调优工作
II 测试系统的性能是否满足生产性能要求

二、性能测试分类

1、基准测试

基准测试是指在一定的软、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果。基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否有所改善。

2、负载测试

负载测试是指在一定的软、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,在不同的虚拟用户数的情况下,测试各服务器的性能指标是否在要求的范围内,以此确定系统所能承受的最大并发用户数、最大在线用户数,及不同用户数下的系统响应时间、每秒事务数及资源使用率。负载测试强调的是在一定环境下系统能够达到峰值指标,实际生产测试过程中,大多数测试都是负载测试。

3、并发测试

并发测试是指通过模拟多个用户并发访问同一个应用、存储过程或数据记录及其他并发操作,测试是否存在死锁、数据错误等故障。为了避免数据库或函数方法在并发下的错误,测试过程中需要针对每个重要模块进行并发测试。

4、压力测试

压力测试是指在一定的软、硬件及网络环境下,模拟大量虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间持续运行,以测试服务器在高负载的情况下是否能够稳定工作。与负载测试获得的峰值性能指标可能不同,压力测试强调在极端情况下的系统稳定性,此时处理能力已不是关注要点。

5、容量测试

容量测试是指在一定的软、硬件及网络环境下,在数据库中构造不同数量级别的基础数据,在一定虚拟用户数的情况下,运行一种或多种业务,从而获取该测试环境在不同数量级别的基础数据下的性能指标,服务器的处理能力,以确定数据库的最大容量和最优容量。以此来确定系统在不同数量级别的基础数据的情况下,能否达到目标性能指标。

三、相关术语

1、并发

所有的用户在同一时刻做相同或不同事情或操作,从而对系统产生压力。

2、并发用户数

在同一时刻与服务器进行交互的在线用户数量。这些用户的最大特征是和服务器发生了交互,这种交互既可以是单向传送数据的,也可以是双向传送数据的。

3、每秒事务数

指每秒钟完成的事务数,tps是Transaction per Second的缩写,也就是事物数/秒。它是软件测试结果的测量单位,一个事物是指一个客户机向服务器发送请求后服务器做出反应的过程。

4、响应时间

响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器编返回的响应结束,这个过程所耗费的时间。响应时间的单位一般为“秒”。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。

5、平均响应时间

响应时间的平均水平

6、资源使用率

资源使用率指的是对不同系统资源的使用程度,例如服务器的CPU、内存、磁盘繁忙率、网络等硬件资源的占用情况。

四、性能测试指标

1、每秒事务数

TPS= 并发数/平均响应时间,一个典型的上班签到系统,早上8点上班。7点半到8点这30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每一个员上登录签到系统的时长为5分钟。能够用以下的方法计算。
TPS = 1000/(30x60) 事务/秒 = 0.56
平均响应时间为 = 5x60 秒
并发数= TPS*平均响应时间 = 1000/(30x60) x(5x60)=166.7
意思就是说最低需要166.7个人同时登录签到系统进行签到,才能在30分钟内完成所有1000人的签到操作。

2、平均响应时间

处理一次请求所需要的平均处理时间

3、最大并发用户数

系统在满足其他性能指标的情况下,能够承受的最大并发用户数

4、交易成功率

指系统处理交易时成功交易数与总完成交易数的比值,该值反映了被测试系统的正确性与稳定性

五、场景设计

1、单交易基准

一般使用一个用户或一个线程,延时设置为0,对一个交易持续运行10分钟以上。该场景的主要目的是获取单个交易在无压力的情况下的基准响应时间及环境资源使用情况,作为其他场景的参考依据。

2、单交易负载

单交易负载的场景是为了找到单个交易的最优TPS,检测单交易在并发情况下是否存在性能瓶颈。这个最优是以什么为衡量标准呢?通常以应用或数据库等系统的CPU使用率不大于70%为标准。为什么是70%?通常在生产上运行的应用,如果CPU使用率长期处于高水平那是非常严重的问题,应用的节点随时都可能挂掉。

3、多交易混合负载

多交易混合负载的目的是为了找到应用的最优TPS,即应用CPU资源消耗在70%左右时的TPS(此时需确保数据库等其他被调用资源不成为瓶颈)。按照测试模型中的交易比例及目标TPS,对每个交易分配不同的并发用户数量,设置不同的延时,同时进行加压,通过多个子场景的不断尝试最终测试出应用能够达到的最优TPS。这个场景比较复杂,一般需要经过多次的测试与调整才能到达测试模型的比例要求。

4、多交易混合容量

容量的意思就是应用能够达到的最大TPS。该场景是和多交易混合负载场景相关联的,即通过多交易混合负载找出应用承受的最优TPS后继续对应用进行加压,直到找到应用的最大TPS。

5、稳定性测试

给应用一个恒定的压力,使场景运行较长的时间,用于测试应用在长时间运行下的表现,TPS是否有较大波动、是否有错误和异常、是否存在内存溢出等。

六、性能测试流程

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

推荐阅读更多精彩内容

  • 一、性能测试 1.1 性能测试基础 1.1.1 性能测试本质 基于协议模拟用户发出请求(业务的模拟),对服务器形成...
    Ricsy阅读 740评论 0 2
  • 1.性能测试应用领域有哪些 能力验证:乙方通过性能测试向甲方证明自己所陈述的能力,出具报告 瓶颈分析:能力验证过程...
    尝试热爱这个世界阅读 594评论 0 0
  • 1.解决性能问题需要注意以下几个问题: 1)确定需求;2)确保系统的健壮性;3)制定意外的处理方式。 2.性能测试...
    草中人阅读 401评论 0 0
  • 一、性能测试的概念和目的 1、性能测试概念: 在正常、峰值以及异常负载条件下,测试系统的各项性能指标通过自动化的测...
    老林说测试阅读 178评论 0 2
  • 很早就想写写近几年的性能测试总结,最近终于可以开动了! 很多书和文章把性能测试写的复杂,分为性能测试、压力测试、负...
    penny20阅读 280评论 0 1