zoukankan      html  css  js  c++  java
  • 性能测试基础06

    Loadrunner-Analysis(分析)

    目标
    1. 理解Analysis主要图表分析
    2. 了解Analysis合并图的应用
    3. 理解拐点图分析
    Analysis主要功能概述
    1. 提供了丰富的图表信息,可以帮助准确地确定系统性能;
    2. 支持合并多个负载场景的结果或将多个图表合并为一个图,为性能瓶颈的判断提供依据;
    3. 自动以图形或表格的形式概括和显示测试的重要数据;
    4. 支持数据、报告导出功能;

    Analysis  Summary(结果摘要)

    目标
    1. 理解 Analysis Summary报告基本组成
    2. 了解添加其他图表的方法
    一、Analysis Summary 示意图
    说明
    1. 上图为LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,以简要的信息列出本次测试结果;
    2. 概要中包含以下5中摘要
        1). 场景及执行情况
        2). Statistics Summary(统计摘要)
        3). Transaction Summary(事务摘要)
        4). HTTP Responses Summary(HTTP响应摘要)
    1)场景及执行情况
    说明:主要对本次报告执行的场景、结果、持续时间做说明
        1. Scenario Name:本次执行的结果来源那个场景
        2. Result in Session:结果保存目录
        3. Duration:本次场景运行持续时间;
    2)Statistics Summary(统计摘要)
    说明:对本次场景执行结果的一些指标摘要统计
        1. Maximum Running Vusers:最大运行用户数
        2. Total Throughput(bytes):总吞吐量(字节)
        3. Average Throughput(bytes/second):平均每秒吞吐量(字节)
        4. Total Hits:总点击数
        5. Average Hits per Second:平均每秒点击数
        6. Total Errors:总错误数
    
    提示:
        1). 1MB=1024KB 1KB=1024Bytes 1MB=1024KB*1024Byte=1048576Byte;
        2). 吞吐量越大,说明服务器处成理性能越好;
        3). 请求数和吞吐量正比;
    点击数、请求数和吞吐量关系,以及吞吐量的概念:
    每秒请求数的统计:
    	是统计服务器每秒接受了来自所有浏览器的请求数。
    每秒吞吐量统计:
        当服务器接受了请求后,就会响应给各个浏览器页面,这些页面都有大小的,以KB为单位计数,
        平均每秒吞吐量,代表了服务器每秒响应的信息量的大小,故每秒请求数越多,每秒吞吐量也就越多。
        请求数和吞吐量是成正比的。
        (因为有请求就有响应)
    每秒点击数统计:
        每秒点击数是统计服务器每秒响应的数量,根据请求所响应回来的状态码200、201以及204做统计。
        故每秒点击数与每秒请求数应该也是成正比的,因为每秒请求数越多,相应的就会对请求做出响应,故每秒响应数也越多。
        1). 每秒点击数图表基本和HTTP Responses per Second(每秒响应数)一样;
               (因为点击数的数据其实就是通过服务器返回的响应数做统计的)
    3)Transaction Summary(事务摘要)
    1. 说明:
        1). SLA Status:服务水平协议状态
        2). Minimum:最小事务的时间
        3). Average:平均事务时间
        4). Maximum:最大事务时间
        5). Std.Deviation:标准偏差
        6). 90 Percent:90%事务小于等于这个时间
        7). Pass:通过事务数
        8). Fail:失败事务数
        9). Stop:停止事务数
    2. 提示:
        1). 以上时间单位为秒;
        2). 标准偏差:越小越好,代表事务数据之间的差异大小程度,可以使用Excel中STDEVP函数计算出来
    4)、HTTP Response  Summary(HTTP响应摘要)
    1. 说明:    
        1). HTTP Responses:HTTP响应状态码
        2). Total:总数量
        3). Per second:每秒响应数
    2. 提示:
        1. HTTP响应代码200为服务器响应查询成功状态码,其他有关状态码请查询有关资料;
    思考 
    如何查看指定图表可用图表呢?

    二、查看与添加图表
    查看图表
    说明:在左侧图表列表处,双击要查看的图表,右侧区域显示图表结果
    添加图表  添加默认未在右侧列表中显示的图表
    1. 说明:
        1). 1:点击弹出添加图表对话框
        2). 2:选中要添加的图表
        3). 3:点击添加选中的图表
    2. 提示:
        1). 直接按Ctrl+A可弹出添加图表对话框
    3. 思考:
        这些可添加图表代表什么意思?我们在做性能测试时需要观看那个图表呢?
    可添加系列图表
    1. 说明
        1). Vusers:有关虚拟用户图表
        2). Errors:有关错误图表,如:每秒错误率
        3). Transactions:有关事务图表,如:平均事务响应时间
        4). Web Resources:有关web页面图表,如:每秒点击率
        5). Web Page Diagnostics:有关Web页面组件图表,如:页面诊断
        6). System Resources:有关服务器资源图表,如:CPU、内存、磁盘、网络
    2. 提示:
        1). 以上系列图表,使用时候有时候需要进行合并,来更好的为系统调优做服务;
            (比如:Hits per Second与Average Throughput (bytes/second)合并,测试两款服务器性能)
        2). 以上明细图表,关注 重要图表分析 章节
    提示
    1. 接下来我们在介绍图表之前,我们先介绍以下,在性能测试中有个很知名的分析方法-拐点分析法

    拐点图分析

    目标
    1. 了解拐点分析法
    一、什么是拐点分析法?
    说明:拐点分析是一种利用性能计数器曲线图上的拐点进行性能分析的方法。
    拐点分析  基本思想
    说明:性能瓶颈主要产生原因就是某个资源的使用达到了极限,此时表现为随着压力的增大,系统性能却出现极具下降, 
          这时产生了拐点现象;
    
    思路:只要得到拐点附近的资源使用情况,就能定位出系统性能瓶颈所在;
    订票系统  示例:
    需求:
    1. 注册和登录业务40虚拟用户混合场景(先执行40用户注册业务,然后使用40新注册用户去登录)
    2. 场景策略-15秒启动2个用户,达到40用户时,持续5分钟,虚拟用户退出以每10秒退出5个策略
    3. 登录业务40用户登录时<=3秒,CPU不得超过80%
    运行用户与平均事务响应时间
    说明:
        应用系统随着虚拟用户的增加,事务响应时间缓缓增加,当虚拟用户数达到17个时,事务响应时间超过预期3S持续
        增加,此时就说明了系统承载不了如此多用户访问这个事务,也就是存在瓶颈。
    
    注:上图为虚拟运行用户图和平均事务响应时间合并图
    
    提示:合并图的方法接下来知识点会学习
    运行用户与资源占用率CPU:
    说明:从上图得知,CPU不超过80%,目前配置最多支持25个用户;
    总结
    1. 什么是拐点分析
    2. 拐点分析思想
    提示
    1. 以上我们使用了合并图,那么两个图表如何合并呢?接下来我们来学习

    合并图的应用

    目标
    1. 掌握Analysis合并图表方式
    一、为什么要合并图表
    说明:合并图表是为了更好的定位系统瓶颈,比如把虚拟用户运行图和平均响应事务时间合并,能直观体现虚拟用户数量
          对服务器处理事务产生的影响;
    案例
    1. 说明:为了更好的学习合并图方式,我们使用订票脚本,设计个场景,场景需求设置:
    2. 设置:
        1). 虚拟用户数20;
        2). 场景模式+基本计划
        3). 虚拟用户启动 15秒启动2个,结束与启动相同;
        4). 持续时间为2分钟
    二、Analysis 合并图
    1. Running Vusers(虚拟运行用户)
    2. Average Transaction Response Time(平均事务响应时间)
    
    说明:在合并之前,我们先拿两张图来演示
    1)、Running Vusers(虚拟运行用户)
    2)Transaction Response Time(平均事务响应时间)
    合并图操作说明
    1. 操作说明:
        1). 打开合并选项菜单 (Ctrl+M 或者 在要合并的图表上点击鼠标右键->merge Graphs)
        2). 标1:选择要合并的图(并入) 如:Running Vusers
        3). 标2:选择并入的方式: 
            (1). Overlay(叠加)
            (2). Tile(平铺)
            (3). Correlate(关联)
    合并方式-Overlay(叠加)
    说明:两个图使用相同的X轴,并入的图Y轴合并后在最右侧;
    合并方式-Title(平铺)
    说明:两个图公用一个X轴,Y轴各自保持不变,并入图在上方;
    合并方式-Correlate(关联)
    说明:
        1. 主图的Y轴变成合并后的X轴,合并图的Y轴,为合并后的Y轴;
        2. 合并的时候,需要把多余的线条给过滤掉,如:只留订票业务;
        3. 以上图为例,合并后,X轴为平均响应时间,Y轴为虚拟用户数;
    
    提示:
        在实际工作中,除了以上三种合并方式外,瓶颈分析还有一种方法-自动关联;
        一般默认用第一种overlay方式,比较好看
    三、自关联应用
    什么是自动关联
    说明:LoadRunner使用统计信息算法去关联相似事务波段的指标,从而来定位某一瓶颈是由那些指标引起的;
    自关联  关联对象-登录事务
    说明:
        1. 可以选择指定关注的时间段;
        2. 选项设置一般为默认;Feature(趋势)
    自关联  指定-匹配的度量指标
    思考?
    在性能初期阶段需要了解那些表合并?

    四、常用合并图表组合  说明
    1. 平均事务响应时间与虚拟运行用户
    2. 平均事务响应时间与吞吐量
    3. 每秒点击数与吞吐量
    4. 每秒点击数与平均事务响应时间
    1)平均事务响应时间与虚拟运行用户  合并图
    1. 说明:平均事务时间和运行用户图合并能直观体现 虚拟用户数对不同事务的影响
    
    2. 分析:
        1. 从上图看出,虚拟用户数对登录事务的影响明显高于注册事务;首先确定一点,应用服务器对40用户并发请求处理是没
           有问题的。
        2. 如果需求登录40并发<=3秒的话,需要进一步结合页面组件细分图及每秒点击率来分析
    2)平均事务响应时间与吞吐量
    1. 说明:平均事务响应时间与吞吐量结合,可以看出单个事务对吞吐量的影响
    
    2. 分析:
        1. 从上图中看出,登录事务响应时间忽然拉长,系统吞吐量直线下降,说明,系统并不是因为总吞吐量的问题导致登录响
           应延长,基本确定是登录资源或登录业务代码响应时间增长导致的问题;
    
        2. 具体是登录资源还是登录业务,需要结合页面组件细分图和每秒点击数来确定是那个问题;
    3)每秒点击率与吞吐量
    1. 说明:正常情况下每秒点击率与吞吐量图形基本是一致的
    2. 分析
        1. 吞吐量不正常那么说明,应用程序响应时间慢
        2. 点击量不正常那么说明,网络存在问题,需要检查网络相关报表
    3. 提示:一般测试不同配置服务器性能时,这两张图合并最好用;
    4)每秒点击数与平均事务响应时间
    1. 说明:查看每秒点击数对事务的影响
    2. 分析
        1. 每秒点击数对注册业务影响很小,注册业务最高每秒点击了69次
        2. 每秒点次数对登录业务影响很大,登录业务有请求异常缓慢,需要结合页面组件细分表来确认是那个组件请求
    总结
    1. 为什么要合并图
    2. 合并图的三种方式

    交叉结果与性能报告生成

    目标
    1. 掌握交叉结果的应用
    2. 了解LR导出报告的方式
    一、交叉结果的应用
    1)什么是交叉结果?
    交叉结果是指相同场景下两次测试结果进行交叉对比,在LoadRunner中把这种对比两次结果指标叫做交叉结果;
    2)为什么要交叉结果?
    本轮的测试结果诞生是根据上一轮测试结果进行分析、由相关人员进行调优后进行的重新测试,需要确定调优是否有所改善;
    3)交叉结果应用
    说明:
        1. 在Analysis工具点击File菜单->Cross with Result...
        2. 点击Add添加上次结果目录文件 (.lrr)
    4)效果图
    说明:之前两张报表有的数据都会产生对比,以上摘要报告只是举例说明;
    二、性能报告生成
    LoadRunner支持导出非常丰富的报告类型(HTML、Word、PDF)等,我们常用的是Word(可编写);
    生成报告  步骤
    1. 生成模板
    2. 在模板上导出指定报告类型
    1、生成模板
    1. 说明:
        1). 在Analysis菜单(Reports)->New Report
        2). 直接点击 Generate(生成)模板 
    
    2. 提示:General、Format、Content为选填信息,可以不填,我们需要修改自己公司关注的东西;
        1. General(普通选项):标题、作者等信息
        2. Format(报告格式):报告格式设置
        3. Content(报告内容):报告内容修改等
    2、导出报告
    1. 说明:
        1). 标记1:在报告模板内选择Save菜单->Microsoft Word 2007 File...
        2). 标记2:导出设置,默认ALL(全部)导出 直接点击OK
        3). 标记3:保存报告路径和名称
    2. 提示:
        1. 以上为word版格式,导起来稍微繁琐,因为我们常用的word格式,可以对报告内图表文字进行修改;
        2. 如果需要导出HTML格式报告,菜单(Reports)-》HTML Report

    附件1  主要图表

    目标
    1. 了解定位性能瓶颈时常用的重要图表
    重要图表系列
    1. 虚拟用户相关图表
    2. 事务相关图表
    3. 错误相关图表
    4. Web资源相关图表
    5. 网页诊断相关图表【Web项目关注 重点】
    6. 系统资源相关图表
    
    提示:
        1). 选中“Display only graphs containing data”:只显示有数据的图表;
        2). 取消选中:蓝色字体代表有数据,黑色代表无数据;
        3). 以上系列内,我们说几个比较常用的图表
    一、虚拟用户相关图表
    Running Vusers(运行虚拟用户重要)
    说明:在运行期间虚拟的整体用户运行情况
        1. 横轴:为运行时间
        2. 纵轴:显示处于运行状态的虚拟用户数
    
    提示:
        1). Running Vusers与平均事务响应时间合并,直观体现用户数量对服务器处理事务产生的影响;
    二、事务相关图表  【重要】
    平均事务响应时间(Average Transaction Response Time) 【重要】
    说明:通过平均事务响应时间图表,查看性能测试过程中每一秒用于执行事务的平均时间;
    (注意和start vuser、duration、stop vuser联系起来看,每一个步骤的策略在上面都写着了)
    每秒事务数(Transaction per Second) 图表
    说明:通过该图性能测试过程中每一秒内系统上的实际事务负载;
     每秒事务总数(Total Transactions per Second) 图表
    说明:通过该图查看性能测试过程中每一秒内,成功通过事务总数、执行失败的事务总数和停止的事务总数;
    事务摘要(Transaction Summary)
    说明:通过该图查看性能测试过程中执行失败、执行通过、停止和因错误而结束的事务概要信息;
          (业务成功率:一般指的就是在事务摘要体现,摘要内如果事务都是通过,那么业务成功率就是100%)
    事务性能摘要(Transaction Performance Summary) 图表
    说明:通过该图查看性能测试过程中所有事务的最小、最大和平均响应时间,以不同的颜色代替;
    负载下的事务响应时间表(Transaction Response Time Under Load) 【重点】
    说明:该图其实是事务响应时间图与虚拟运行用户图的组合,很直观体现随着虚拟用户的增加,对事务响应时间的影响;
    
    提示:较为重要,是因为在做持续压力测试的时候,这张图最好使;
    事务响应时间(百分比)(Transaction Response Time (Percentile))
    说明:该图有助于确定事务响应时间是否符合需求所定义的性能指标百分比;
          (如:80人并发登录时候,90%用户登录业务时间小于3秒)
    web资源相关图表
    Web资源相关图表提供Web服务器性能相关信息
    每秒点击数(Hits per Second) 图表
    1. 说明:通过该图表查看性能测试中每秒内虚拟用户向Web服务器发送的HTTP请求数
    
    2. 提示:
        1). 每秒点击数图表基本和HTTP Responses per Second(每秒响应数)一样;
           (因为点击数数据其实就是通过服务器返回的响应数做统计的)
        2). 该图表和平均事务响应时间合并,查看单击数据对事务性能的影响;
    吞吐量(MB)(Throughput(MB)) 图表
    1. 说明:该图以兆字节为单位查看吞吐量
    
    2. 提示:该图与平均事务响应时间合并,查看吞吐量对事务性能的影响;

    Web网页诊断  相关图表
    网页诊断图表提供每个页面的下载时间、下载过程出现的问题、页面内下载组件的大小等;
    1) 网页分析诊断(Web Page Diagnostics)图表
    1. 说明:选择指定事务进行细分,如:登录事务,显示页面下载时间,页面内具体组件下载时间、大小;
    2. 提示:
        1). First Buffer(第一次缓冲时间):从HTTP请求到收到Web服务器返回的第一次缓冲所经过的时间;
            度量可以准确指示Web服务器延迟和网络延迟。
    页面组件细分(Page Component Breakdown)图表
    1. 说明:该图显示每个网页及组件的下载时间以及每个组件占用当前页面的下载时间的百分比;
             (通过此图很直观看出当前事务内下载资源占比情况)
    页面下载时间细分(Page Download Time Breakdown)图表
    说明:通过该图查看页面下载期间是网路原因还是服务器处理能力较差导致响应过慢;
    
        1). DNS Resolution Time :DNS域名服务器解析域名所需时间
        2). Connection Time:连接时间-客户端与应用服务器初次建立连接时间(度量网路及服务器是否响应请求)
        3). SSL Handshaking Time:建立SSL(证书、秘钥)连接需要时间;度量HTTPS协议通信时使用
        4). FTP Authentication Time: FTP身份验证时间
        5). First Buffer Time:第一次缓冲时间-第一次请求服务器到服务器返回第一次缓冲所需要时间,
                              (度量:网络或服务器延迟)
        6). Receive Time:接收时间-从开始接收到服务器传过来最后一个字符所需要时间
        7). Client Time:客户端时间-客户端浏览器的延迟 导致请求在客户端延迟的平均时间
        8). Error Time:错误时间-发送HTTP请求到返回错误信息所用的平均时间
    第一次缓冲时间细分(Time to First Buffer Breakdown)图表
    说明:通过该图查看成功收到Web服务器返回的第一次缓冲之前的时间段内,每个网页组件的相对服务器时间、网络时间;
    
    提示:
        1. 网路时间:客户端发出HTTP请求到服务器收到HTTP请求消息的平均时间;(网络传输请求的时间)
        2. 服务器时间:服务器接收到请求开始到返回浏览器第一次缓冲所有的平均时间
    
    注意:第一次缓冲时间是在客户端进行计算的,所以是估计值(不太精准)
    下载组件大小(KB)(Downloaded Component Size(KB))图表
    说明:通过该图查看每个网页及其组件大小(KB)

    系统资源相关图表
    系统资源图表是在负载测试场景运行期间联机监控所监测的系统资源,通常需要对CPU利用率、内存和磁盘等进行监控;
    
    提示:
        1. 系统资源标一般需要与虚拟运行用户、事务相关表进行合并,查看运行相应业务时资源利用率是否达标;
        2. 在这里我们以windows Resources为例;
     CPU、内存、磁盘常用关注指标(CPU、内存、磁盘)
    Windows Resources - Running Vusers
    说明:虚拟运行用户与Windows Resources表合并,查看运行用户数的增加对CPU、内存、磁盘等资源影响信息
    
    分析:
        1. 虚拟用户达到34时CPU使用率以达到85%,CPU以出现瓶颈必须地进行CPU相关升级;
    Windows Resources - Average Transaction Response Time
    说明:平均事务响应时间和CPU、内存合并图
    
    分析:
        1. 从上图看出,40并发 登录事务最高使用内存70%,说明内存可用内存还有20%满足系统使用指标;

  • 相关阅读:
    oracle 用户 权限
    oracle move 释放 表空间
    oracle 视图 参数
    js 、c# 编码解码
    Oracle实体化视图
    简单工厂VS工厂方法
    面向对象——(9)封装和接口
    写给明天的软件工程师——(转)
    设计模式简介
    设计模式的六大原则
  • 原文地址:https://www.cnblogs.com/st998/p/13795198.html
Copyright © 2011-2022 走看看