一、为什么要学习负载生成器
提示:负载生成器俗称负载机
说明:1). 性能测试就要面临模拟大量的虚拟用户并发请求,单台负载机就面临自身硬件性能瓶颈问题,需要扩展多台负载机上运行达到减压不减虚拟用户的目的;
loadrunner中所有脚本都要指定负载机,所有测试都是分布式进行的
1.1 什么是负载机?(Load Generator)
说明:在LR中运行场景内脚本的机器被称为负载机
提示:
1). 负载机需要安装LR或者Load Generator
2). Linux系统直接安装Load Generator 下载相关文件 loadrunner-11-load-generator.iso
1.2 使用负载机 流程
1). 启动Load Generator
- 通过工具栏启动,点击对应图标
- 通过菜单栏(Scenario)->Load Generator
2). 添加负载机
- 标1:点击添加负载机
- 标2:输入负载机IP、机器名;如果添加本机可以输入本机ip或localhost
- 标3:选择负载机平台(操作系统),支持 UNIX(linux属于)、Windows
- 添加另一个负载机,负载机上要安装Load Generator,可以通过在cmd中输入ipconfig查看负载机的ip地址,然后通过在控制机查看ping ip地址,查看控制机与负载机之前的网络是否通的(有TTL值返回就是网络连通的情况),然后就可以去添加负载机
3). 场景-用户组(脚本)选择相应的负载机
1.3 注意事项
1. 网络-负载机与控制机网路通畅
2. 代理服务程序-负载机必须启动LoadRunner Agent Process 代理服务程序;
(位置:开始程序->HP LoadRunenr->Advanced Settings->LoadRunner Agent Process)
3. 防火墙-负载机上的防火墙为关闭状态
4. 权限配置-负载机运行设置工具内输入负载机本机登录用户名和密码,目的解决LR控制机远程连接负载机权限问题
(位置:开始程序->HP LoadRunner->Tools->LoadRunner Agent Runtime Settings Configuration)
扩展1 - 测试连接负载机
1. 说明:
1). 标1:选中负载机
2). 标2:测试连接负载机
3). 标3:查看测试结果(Ready:通过;Down:未连接;Failed:失败)
2. 提示:
1). 负载机需要安装LR或者Load Generator
2). Linux系统直接安装Load Generator 下载相关文件 loadrunner-11-load-generator.iso
3. 问题
1). 连接负载机失败,负载机需要那些操作及注意事项?<查看1.3 注意事项>
扩展2 - Load Generator安装说明
1. windows直接通过LR安装包安装
2. Linux需要从官网或其他网站下载loadrunner-11-load-generator.iso
扩展2 - 负载机授权配置图
说明:解决LR控制机连接负载机权限问题
二、场景运行
2.1 切换运行界面
说明:在场景设计页面下,点击 标1 切换到场景运行界面
2.2 场景运行界面
1. 说明:
1). 标1:场景用户组虚拟用户运行状态图
-. Down(关闭):Vuser处于关闭状态
-. Pending(挂起):Vuser已创建,可以初始化,正将脚本传输到负载机
-. Init(初始化):Vuser正在负载机上执行初始化
-. Ready(就绪):Vuser已执行脚本初始化部分(init函数),可以运行Action函数
-. Run(正在运行):Vuser脚本正在运行
-. Rendezvous(集合点):Vuser到达集合点,等待条件满足释放
-. Passed(完成并通过):Vuser已运行结束,状态为通过
-. Failed(完成并失败):Vuser已运行结束,状态为失败
-. Error(错误):Vuser运行中发生了错误
-. Gradual Exiting(逐步退出):Vuser正在运行退出前的最后一次迭代
-. Exiting(退出):Vuser已经完成操作,正在退出
-. Stopped(停止):Vuser被停止,不在运行
-. 提示: 重点关注5、6、7、8
2). 标2:场景运行状态概览图
-. 操作区:
--. Start Scenario:运行当前场景
--. Stop:停止正在场景
--. Reset:清除上次场景运行记录
--. Vuers:对场景当前选中的脚本虚拟用户进行修改(运行、添加、删除、指定负载机)
--. Run/Stop Vusers:对当前场景内脚本进行操作(运行、停止)
-. 结果区:
--. RunningVuser:运行用户数
--. Elapsed Time:运行时间
--. Hits/Second:每秒点击数
--. Passed Transaction:通过事务数
--. Failed Transaction:失败事务数
--. Errors:错误个数
3). 标3:可用性能计数器及性能计数器指标走向图
-. 标1:可在标2检测的指标;
-. 标2:显示标1指定指标走组图; 在标1选中指标双击或拖拽到标2
-. 标3:对应用服务器硬件资源(CPU、内存、网络、磁盘)等性能指标进行度量统计;
提示:
-. 标3度量区,度量项根据不同的性能指标有所不同,但是我们大多数只关注几项;
(Max:最大值;Min:最小值;Avg:平均值;Std:标准偏差)
2. 提示:
1). 启动场景及场景运行完成,关注点在标2区域
2). 场景启动,虚拟用户未加载完之前,关注点在标1区域
3). 场景启动,虚拟用户加载完成,持续运行阶段,关注点在标3区域
2.3 运行
1. 说明:
1). 以上运行数据,虚拟用户共10,场景内含两个脚本,虚拟用户数比例(8:2)
2). 场景运行时长:1分09秒 (Elapsed Time)
3). 每秒点击率:50.75
4). 通过事务数:274
2. 提示:
1. 以上数据,只是运行主要概况;
2. 详细报告数据可以通过Analyze Result得到
2.4 打开 Analyze Result(分析报告)
1. 启动Analyze Result
-. 通过工具栏 标1 打开Analyze Result
-. 通过菜单栏(Results->Analyze Result)
2. 预览报告
三、服务器 性能资源指标监控
3.1. 为什么要监控服务器资源性能指标?
说明:资源性能指标就是预期结果,性能测试的目的和功能测试一样,观察实际结果是否与预期结果相否;
3.2 什么是资源性能指标?
1. 业务需求:
1). 系统在1000人并发访问的时候,要求CPU利用率不超过75%;
2). 系统在500人进行订单查询的时候,系统可用内存要在20%以上
2. 提示:
1). 《CPU利用率不超过75%》、《500人查询内存可用内存20%以上》就是资源性能指标
2). 资源性能指标依靠操作系统提供的【性能计数器】来记录;
3.3 什么是性能计数器?
说明:性能计数器也叫性能监视器,是操作系统提供的一种系统功能,它能实时对操作系统内应用程序的性能数据进行采集、分析;
提示:
1. Windows操作系统的 perfmon工具,win10的cmd中输入perform.msc就会出现
2. Linux操作系统使用相应的命令(资源管理器是top命令)或第三方工具,工具如:nmon
3.4 Windows服务器资源 常用指标
提示:一般压测关注的就是可用内存
1). % Processor Time指标在Perfmon工具Processor系列内
2). Available MBytes指标在Perfmon工具Memory系列
3). % Disk Time指标在Perfmon工具PhysicalDisk系列
3.5 添加资源性能计数器指标
说明:在LoadRunner中添加资源性能计数器;
需求:在LR数据监控中监控应用服务器可用内存、CPU使用率、硬盘读写时间
操作步骤:
1. 在Available Graphs激活System Resource Graphs(系统图表)
说明:
1. 这里我们以Windows系统为类
2. 双击Windows Resources激活(或拖拽),激活;
3. 激活后在右侧图表区出现-Windows Resources图表
4. 在Winddows Resources图表添加服务器-内存指标
2. 在系统资源图表上右击->Add Measurements(添加度量值)
1. Windows Resources图表 添加指标:
1). Windows Resources图标上右击->Add Measurements(添加度量值)
2). 标1:弹出添加服务器窗口
3). 标2:Name:为服务器IP地址
3). 标3:操作系统可以默认(添加成功后会自动获取系统版本,比如Win7)
2. 添加指标(CPU、内存、硬盘)
1). 选中标1、标2(本次不关注的指标)
2). 标3:删除多余指标(标1、标2)
3). 标4:点击OK 添加列表内指标
提示:默认把操作系统常用指标全部列出,需要删除多余指标
3.6. 扩展 修改图表监控区显示图表数量
说明:
1. 图标区域鼠标右键->View Graphs
2. 菜单(View)-View Graphs
提示:
1. 双击指定图表,可放大图表;
2. 选中指定图表右击->configure可对相应图表属性、样式进行配置
3.7. 监控Windows资源 注意事项
1. 确保lR控制机与需要监控的pc机网络通畅(ping 192.168.X.X )
1. Remote Procedure Call (RPC)、RemoteRegistry两个服务要启动,默认为启动(可以通过services.msc查看服务是否开启,对于linux来说这两个服务也必须要安装开启);
2. 本地账户共享和安全模型-经典-对本地用户进行身份验证不改变其本来身份【win7旗舰版默认】 (gpedit.msc windows设置-安全设置-本地策略-安全选项-本地账户共享和安全模型)
四、什么是SLA?
说明:Service Level Agreement(SLA) 是在场景执行之前定义的相应负载测试目标,在场景运行之后Analysis将运行时收集的指标值和SLA设定的进行对比,然后确定本次测试是成功还是失败。
4.1 SLA 的使用
需求:订票网站,20用户同时订票,登录在3s内完成,订票在15秒内完成;
1. 新建SLA,直接点击下一步
2. 选择指标
说明:
1). 需求为登录、订票事务时间,所以我们选择 Transaction Response Time
2). Transaction Response Time 有两个选项Percentile(百分比)、Averge平均值 【选择:Percentile】
提示:Percentile(百分比)默认为90%
3. 选择事务
说明:添加登录和订票两个事务
提示:自录制脚本的时候,必须添加相应的事务
4. 设置事务预期值
1). 设置90%登录用户时间小于等于3秒
2). 设置90%订票业务小于等于15秒
5. 完成SLA服务创建
勾选点击“define another SLA” 完成当前SLA添加后继续添加SLA服务,如果不需要直接点击Finish
6. 查看SLA服务
对刚创建的SLA服务点击Details查看服务细节
7. Analyze Results SLA报告
8. Analyze Results SLA明细
五、IP Wizard(IP 欺骗)
5.1 为什么使用IP欺骗?
说明:应用服务器限制一个IP地址只能使用应用指定功能一次操作,如:投票系统;
5.2 什么是IP欺骗
说明:LoadRunner系统的 IP Wizard工具可以模拟出多个不同的IP地址,每个虚拟用户都可以使用不同的IP地址完成类似投票系统真实场景的业务操作;
5.3 IP Wizard应用 步骤
1. 配置:使用IP Wizard工具配置IP
1) 配置-启动IP Wizard工具
-.说明:开始菜单->HP LoadRunner->Tools->IP Wizard
-. 注意:启动IP Wizard工具时,电脑IP地址必须为【固定IP地址】,不可用DHCP获取模式,改变本地连接的ip地址获取方式(本地连接-属性-TCP/IPv4协议属性-调成固定IP,网关人工设置为服务器ip地址,DNS服务器可以设成服务器ip地址)
2) 配置-选择类型 创建IP
-. 1:创建IP(选择)
-. 2:删除IP(测试完毕时要使用)
3) 配置-搜索服务器IP段地址:输入应用服务器IP地址,而非本机IP地址;
4) 配置-IP列表
-. 1:点击Add 添加IP对话框
-. 2:选择IP类型 默认C类
-. 3:添加IP起始段和Mask地址
-. 4:批量添加IP的数量,如果已经有在用的ip之后会出现提示框
5) 配置-确定创建IP:点击完成(确定以上列表内IP地址去创建),点击OK完成(创建)
6) 查看创建成功:开始运行->cmd->ipconfig /all 查看添加IP
2. 应用:运行场景时启用Enabled IP Spoofer
1). 【必须】勾选Enabled IP Spoofer(启用IP欺骗)
2). 位置:菜单(Scenario)->Enable IP Spoofer
案例操作步骤:
1). 录制订票业务脚本
2). 搭建订票场景 用户数20
3). 使用IP Wizard工具生成20个IP地址
4). 启用IP欺骗(Enable IP Spoofer)
5). 运行场景-查看虚拟用户日志(脚本中添加lr_get_vuser_ip() 函数,在日志中才会有ip信息)(在运行前在run-time settings 中的log,把enable logging不要勾选,就不会有过多日志信息,只显示脚本中的output内容)(在运行场景中,运行结束后,点Passed下的用户右键show Vuser log,就能查看日志)
6). 查看Analysis Result报告
3. 删除IP
1). 选择 Restore original set(恢复原始设置)
2). 输入服务器ip
3). 点击完成即可
5.4 使用IP Wizard 注意事项
1. 使用IP Wizard必须确保IP地址为静态IP,不能为动态(DHCP)IP
2. 负载机必须启用LoadRunner Agent Process程序
3. 运行场景时,启用Enabled IP Spoofer 选项
4. 不能有ip冲突
5.5 扩展:lr_get_vuser_ip() 函数可以获取虚拟用户IP地址
用法:
char *ip;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("The IP address is %s", ip);
else
lr_output_message("IP spoofing disabled");
-----------------------------------------------------------------------------------------------------------------------------------
一、Loadrunner-Analysis(分析)
1.1 Analysis 主要功能 概述
1. 提供了丰富的图表信息,可以帮助准确地确定系统性能;
2. 支持合并多个负载场景的结果或将多个图表合并为一个图,为性能瓶颈的判断提供依据;
3. 自动以图形或表格的形式概括和显示测试的重要数据;
4. 支持数据、报告导出功能;
1.2 Analysis Summary 示意图
LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,以简要的信息列出本次测试结果;概要中包含以下5种摘要:
1). Analysis Summary 场景及执行情况
说明:主要对本次报告执行的场景、结果、持续时间做说明
-. Scenario Name:本次执行的结果来源那个场景
-. Result in Session:结果保存目录
-. Duration:本次场景运行持续时间
2). Statistics Summary(统计摘要)
说明:对本次场景执行结果的一些指标摘要统计
-. Maximum Running Vusers:最大运行用户数
-. Total Throughput(bytes):总吞吐量(字节)
-. Average Throughput(bytes/second):平均每秒吞吐量(字节)
-. Total Hits:总点击数
-. Average Hits per Second:平均每秒点击数
-. Total Errors:总错误数
提示:
-. 1MB=1024KB 1KB=1024Bytes 1MB=1024KB*1024Byte=1048576Byte;
-. 吞吐量越大,说明服务器处成理性能越好;(吞吐量大,代表请求数量 / 每秒点击数 大,服务器压力越大,但当请求量达到一定数量,吞吐量(服务器性能)会有一个瓶颈)
-. 请求数和吞吐量正比;
3). Transaction Summary(事务摘要)
-. SLA Status:服务水平协议状态
-. Minimum:最小事务的时间
-. Average:平均事务时间
-. Maximum:最大事务时间
-. Std.Deviation:标准偏差,越小越好
-. 90 Percent:90%事务小于等于这个时间
-. Pass:通过事务数
-. Fail:失败事务数
-. Stop:停止事务数
提示:
-. 以上时间单位为秒;
-. 标准偏差:越小越好,代表事务数据之间的差异大小程度,可以使用Excel中STDEVP函数计算出来
4). HTTP Responses Summary(HTTP响应摘要)
说明:
-. HTTP Responses:HTTP响应状态码
-. Total:总数量
-. Per second:每秒响应数(是个平均数)
提示:HTTP响应代码200为服务器响应查询成功状态码,其他有关状态码请查询有关资料
1.3. 查看与添加图表
1. 查看图表:Graphs,在左侧图表列表处,双击要查看的图表,右侧区域显示图表结果
在图表中,如果看不清楚坐标值,可以ctrl+U(View Cursor)来查看;在图标的右边有个Graph Data,可以点击以表格的形式查看图中的数据
Throughput 通常与 Hits per Second 两个图一起看,如果吞吐量一直很平稳,但点击数在一直升高,就肯定有问题;请求数升高,吞吐量也升高,暂时没问题,能处理一些请求;但随着时间推移,请求数与吞吐量一定不一样,因为肯定cpu或内存或网络任意一个会达到瓶颈,吞吐量就办不到与点击数一样,一起升高
2. 添加图表 添加默认未在右侧列表中显示的图表
-. 1:点击弹出添加图表对话框
-. 2:选中要添加的图表
-. 3:点击添加选中的图表
提示:直接按Ctrl+A可弹出添加图表对话框
3. 可添加系列图表
1). Vusre:有关虚拟用户图表
2). Errors:有关错误图表,如:每秒错误率
3). Transactions:有关事务图表,如:平均事务响应时间
4). Web Resources:有关web页面图表,如:每秒点击率
5). Web Page Diagnostics:有关Web页面组件图表,如:页面诊断【重要】
6). System Resources:有关服务器资源图表,如:CPU、内存、磁盘、网路
提示:以上系列图表,使用时候有时候需要进行合并,来更好的为系统调优做服务;
(比如:Hits per Second与Average Throughput (bytes/second)合并,测试两款服务器性能)
二、 拐点图分析
说明:拐点分析是一种利用性能计数器曲线图上的拐点进行性能分析的方法。拐点只是一种思想,不代表真的是一个拐点,例如随着点击数上升,吞吐数应该上升,但吞吐数如果表现平稳,也是不正常,也算是出现拐点。任何出现可接受和 不可接受之间的都可算是拐点。
拐点分析 基本思想:性能瓶颈主要产生原因就是某个资源的使用达到了极限,此时表现为随着压力的增大,系统性能却出现极具下降, 这时产生了拐点现象;
思路:只要得到拐点附近的资源使用情况,就能定位出系统性能瓶颈所在;
三、合并图
3.1 为什么要合并图
说明:合并图表是为了更好的定位系统瓶颈,比如把虚拟用户运行图和平均响应事务时间合并,能直观体现虚拟用户数量对服务器处理事务产生的影响;
3.2 合并图操作说明
1. 操作说明:
1). 打开合并选项菜单 (Ctrl+M 或者 在要合并的图表上点击鼠标右键->merge Graphs)
2). 标1:选择要合并的图(并入) 如:Running Vusers
3). 标2:选择并入的方式:
(1). Overlay(叠加):两个图使用相同的X轴,并入的图Y轴合并后在最右侧;
(2). Tile(平铺):两个图公用一个X轴,Y轴各自保持不变,并入图在上方;
(3). Correlate(关联):主图的Y轴变成合并后的X轴,被合并图的Y轴,为合并后的Y轴;合并的时候,需要把多余的线条给过滤掉,如:只留订票业务;
3.3. 瓶颈分析还有一种方法-自动关联
1. 什么是自动关联?
LoadRunner使用统计信息算法去关联相似事务波段的指标,从而来定位某一瓶颈是由那些指标引起的;
2. 自关联 关联对象-登录事务
说明:
-. 可以选择指定关注的时间段;
-. Suggest Time Range By选项设置一般为默认Trend(趋势),另一个是Feature(相似)
3. 自关联 指定-匹配的度量指标
3.4 常用合并图表组合 说明
1. 平均事务响应时间与虚拟运行用户
1). 说明:平均事务时间和运行用户图合并能直观体现 虚拟用户数对不同事务的影响
2). 分析:
-. 从上图看出,虚拟用户数对登录事务的影响明显高于注册事务;首先确定一点,应用服务器对40用户并发请求处理是没有问题的。
-. 如果需求登录40并发<=3秒的话,需要进一步结合页面组件细分图及每秒点击率来分析
2. 平均事务响应时间与吞吐量
1). 说明:平均事务响应时间与吞吐量结合,可以看出单个事务对吞吐量的影响
2). 分析:
-. 从上图中看出,登录事务响应时间忽然拉长,系统吞吐量直线下降,说明,系统并不是因为总吞吐量的问题导致登录响应延长,基本确定是登录资源或登录业务代码问题;
-. 具体是登录资源还是登录业务,需要结合页面组件细分图和每秒点击数来确定是那个问题;
3. 每秒点击数与吞吐量
1). 说明:正常情况下每秒点击率与吞吐量图形基本是一致的(有请求就会有响应,有响应就有数据流出来,有吞吐)
2). 分析
-. 吞吐量不正常那么说明,应用程序响应时间慢
-. 点击量不正常那么说明,网络存在问题,需要检查网络相关报表
3). 提示:一般测试不同配置服务器性能时,这两张图合并最好用;
4. 每秒点击数与平均事务响应时间
1). 说明:查看每秒点击数对事务的影响
2). 分析(同样的响应数(紫色),登录业务的时间要比注册业务时间长,证明登录业务受影响较大)
-. 每秒点击数对注册业务影响很小,注册业务最高每秒点击了69次
-. 每秒点次数对登录业务影响很大,登录业务有请求异常缓慢,需要结合页面组件细分表来确认是那个组件请求
四、交叉结果与性能报告生成
4.1 什么是交叉结果?
交叉结果是指相同场景下两次测试结果进行交叉对比,在LoadRunner中把这种对比两次结果指标叫做交叉结果;
4.2 为什么要交叉结果?
本轮的测试结果诞生是根据上一轮测试结果进行分析、由相关人员进行调优后进行的重新测试,需要确定调优是否有所改善;
4.3 交叉结果应用
1. 在Analysis工具点击File菜单->Cross with Result...
2. 点击Add添加上次结果目录文件 (.lrr)
提示:在场景执行完一次以后,结果保存路径设置:Results -> Results Settings -> Directory去设置结果数据保存的路径,不设置就默认放在C盘的一个临时文件,时间长了会清空
4.4 性能报告生成
LoadRunner支持导出非常丰富的报告类型(HTML、Word、PDF)等,我们常用的是Word(可编写);
1. 生成报告 步骤:
-. 生成模板
1. 说明:
1). 在Analysis菜单(Reports)->New Report
2). 直接点击 Generate(生成)模板
2. 提示:General、Format、Content为选填信息,可以不填,我们需要修改自己公司关注的东西;
1). General(普通选项):标题、作者等信息
2). Format(报告格式):报告格式设置
3). Content(报告内容):报告内容修改等
-. 在模板上导出指定报告类型:
1. 说明:
1). 标记1:在报告模板内选择Save菜单->Microsoft Word 2007 File...
2). 标记2:导出设置,默认ALL(全部)导出 直接点击OK
3). 标记3:保存报告路径和名称
2. 提示:
1). 以上为word版格式,导起来稍微繁琐,因为我们常用的word格式,可以对报告内图表文字进行修改;
2). 如果需要导出HTML格式报告,菜单(Reports)-》HTML Report
五、重要图表系列
5.1. 虚拟用户相关图表
1)Running Vusers(运行虚拟用户)【重要】
说明:在运行期间虚拟的整体用户运行情况
1). 横轴:为运行时间
2). 纵轴:显示处于运行状态的虚拟用户数
提示: Running Vusers与平均事务响应时间合并,直观体现用户数量对服务器处理事务产生的影响;
5.2. 事务相关图表
1)平均事务响应时间(Average Transaction Response Time) 【重要】
说明:通过平均事务响应时间图表查看性能测试过程中每一秒用于执行事务的平均时间
2)每秒事务数(Transaction per Second) 图表
说明:通过该图性能测试过程中每一秒内系统上的实际事务负载;
3)每秒事务总数(Total Transactions per Second) 图表
说明:通过该图查看性能测试过程中每一秒内,成功通过事务总数、执行失败的事务总数和停止的事务总数;
4)事务摘要(Transaction Summary)
说明:通过该图查看性能测试过程中执行失败、执行通过、停止和因错误而结束的事务概要信息;(业务成功率:一般指的就是在事务摘要体现,摘要内如果事务都是通过,那么业务成功率就是100%)
5)事务性能摘要(Transaction Performance Summary) 图表
说明:通过该图查看性能测试过程中所有事务的最小、最大和平均响应时间,以不同的颜色代替;
6)负载下的事务响应时间表(Transaction Response Time Under Load) 【重点】
说明:该图其实是事务响应时间图与虚拟运行用户图的组合,很直观体现随着虚拟用户的增加,对事务响应时间的影响;
提示:标为重要,是因为在做持续压力测试的时候,这张图最好使;
7) 事务响应时间(百分比)(Transaction Response Time (Percentile))
说明:该图有助于确定事务响应时间是否符合需求所定义的性能指标百分比;(如:80人并发登录时候,90%用户登录业务时间小于3秒)
5.3. 错误相关图表
在性能测试场景执行过程中,虚拟用户可能无法成功完成所有事务,可以通过错误相关图表查看相关错误信息;
1)错误信息统计(按描述)(Error Statistics (by Description))
说明:通过该图查看性能测试过程中发生的错误数(分组:按描述),以上图相同错误代码,不同描述共5次错误次数总:3582次,不同的错误描述,占比不同;
2) 每秒错误数(Errors per Second)
说明:此图按代码分组,此图非常直观显示在场景运行时间中,不同错误类型,产生的错误数;
5.4. Web资源相关图表
Web资源相关图表提供Web服务器性能相关信息
1)每秒点击数(Hits per Second) 图表
说明:通过该图表查看性能测试中每秒内虚拟用户向Web服务器发送的HTTP请求数
提示:
1). 每秒点击数图表基本和HTTP Responses per Second(每秒响应数)一样;(因为点击数数据其实就是通过服务器返回的响应数做统计的)
2). 该图表和平均事务响应时间合并,查看单击数据对事务性能的影响;
2) 吞吐量(MB)(Throughput(MB)) 图表
说明:该图以兆字节为单位查看吞吐量
提示:该图与平均事务响应时间合并,查看吞吐量对事务性能的影响;
5.5. 网页诊断相关图表【Web项目关注 重点】
网页诊断图表提供每个页面的下载时间、下载过程出现的问题、页面内下载组件的大小等;
1)网页分析诊断(Web Page Diagnostics)图表
说明:选择指定事务进行细分,如:登录事务,显示页面下载时间,页面内具体组件下载时间、大小;
提示:First Buffer(第一次缓冲时间):最大8kb,从HTTP请求到收到Web服务器返回的第一次缓冲所经过的时间;度量可以准确指示Web服务器延迟和网络延迟
2)页面组件细分(Page Component Breakdown)图表
说明:该图显示每个网页及组件的下载时间以及每个组件占用当前页面的下载时间的百分比; (通过此图很直观看出当前事务内下载资源占比情况)
3)页面下载时间细分(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请求到返回错误信息所用的平均时间
4)第一次缓冲时间细分(Time to First Buffer Breakdown)图表
说明:通过该图查看成功收到Web服务器返回的第一次缓冲之前的时间段内,每个网页组件的相对服务器时间、网络时间;
提示:
1). 网路时间:客户端发出HTTP请求到服务器收到HTTP请求消息的平均时间;(网络传输请求的时间)
2). 服务器时间:服务器接收到请求开始到返回浏览器第一次缓冲所有的平均时间
注意:第一次缓冲时间是在客户端进行计算的,所以是估计值(不太精准)
5) 下载组件大小(KB)(Downloaded Component Size(KB))图表
通过该图查看每个网页及其组件大小(KB)
5.6. 系统资源相关图表
系统资源图表是在负载测试场景运行期间联机监控所监测的系统资源,通常需要对CPU利用率、内存和磁盘等进行监控;
提示:
-. 系统资源标一般需要与虚拟运行用户、事务相关表进行合并,查看运行相应业务时资源利用率是否达标;
-. 在这里我们以windows Resources为例;
1) Windows Resources - Running Vusers
说明:虚拟运行用户与Windows Resources表合并,查看运行用户数的增加对CPU、内存、磁盘等资源影响信息
分析:虚拟用户达到34时CPU使用率以达到85%,CPU以出现瓶颈必须地进行CPU相关升级;
2)Windows Resources - Average Transaction Response Time
说明:平均事务响应时间和CPU、内存合并图
分析:从上图看出,40并发 登录事务最高使用内存70%,说明内存可用内存还有20%满足系统使用指标;
提示:
1). 选中“Display only graphs containing data”:只显示有数据的图表;
2). 取消选中:蓝色字体代表有数据,黑色代表无数据;
六、Linux相关监控
Linux资源监控方式:1. 命令,2. 第三方工具(nmon),3. LR(需要安装RPC相应服务包和开启服务)
6.1 命令 方式
1. top (系统资源管理器)
1. 说明:
1). top命令类似与windows的任务管理器,查看内存、cpu、进程等操作信息
2). 在Linux系统中常用top命令做资源性能分析工具
2. 核心:
1). 前五行显示系统整体的统计信息;
2). load average 代表负载列队到现在平均长度(三个时间段),1分钟、5分钟、15分钟 【重点关注】
3. 参数:
1). 第一行 任务列队基本信息 【关注系统负载】
- 06:49:14 :系统当前时间
- up 2:32 :系统运行时间 2小时32分钟
- 3 users:当前登录用户数
- load average:系统负载,即任务队列的平均长度-(1分钟、5分钟、15分钟)到现在的平均长度
2). 第二行 进程列队信息 【了解】
- Tasks : 201 total 进程总数
- 2 running 正在运行进程数
- 199 sleeping 睡眠进程数
3). 第三行 CPU信息
- 0.3 %us:用户空间占用CPU百分比
- 0.3 %sy: 内核空间占用CPU百分比
- 99.2%id: 空闲CPU百分比 【关注】
4). 第四行 内存信息
- Mem : 3908524k ktotal 物理内存总量
- 1294032k k used 使用的物理内存总量
- 2614492k k free 空闲内存总量 【关注】
- 74352k k buffers 用作内核缓存的内存量
5). 第五行 交换区内存 【了解】
Swap : 4046844 k total 交换分区总量
0 k used 使用的交换区总量
4046844 k free 空闲交换区总量
297720 k cached 缓冲的交换区总量
2. vmstat (查看虚拟内存状态)
1). Procs(进程)
r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。
2). Memory(内存)
swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
free: 空闲物理内存大小。
3). Swap
si: 每秒从交换区写到内存的大小,由磁盘调入内存。
so: 每秒写入交换区的内存大小,由内存调入磁盘。
4). IO(现在的Linux版本块的大小为1kb)
bi: 每秒读取的块数
bo: 每秒写入的块数
5). system(系统)
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。
6). CPU(以百分比表示)
us:用户进程执行时间百分比(user time)
sy:内核系统进程执行时间百分比(system time)
id: 空闲时间百分比
wa: IO等待时间百分比
3. free(查看未使用的和已使用的内存数目)【推荐】
说明:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
语法:free [options]
常用:free -m
(-m:以MB为单位显示内存使用情况)
Mem行解释:
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
shared:当前已经废弃不用;
buffers Buffer:缓冲内存数;
cached Page:缓存内存数。
(-/+ buffers/cache)解释:
(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached=程序占用内存数
(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached=可挪用内存数
4. iostat (查看io磁盘信息)
说明:iostat是查看Linux系统io是否存在瓶颈很好用的一个命令;
语法:Usage: iostat [ options ] [ <interval> [ <count> ] ]
options:选项 interval:间隔 count:计数
常用:iostat -x 1
(x:输出列,1:采集1次)
CPU:
1.%user: 在用户级别运行所使用的CPU的百分比
2.%sys: 在系统级别(kernel)运行所使用CPU的百分比
3.%iowait: CPU等待硬件I/O时,所占用CPU百分比
4.%idle: CPU空闲时间的百分比
Device:【重点】
1.tps: 每秒钟发送到的I/O请求数
2.avgqu-sz: 是平均请求队列的长度,毫无疑问,队列长度越短越好
3.await:每一个IO请求的处理的平均时间(单位是毫秒)
4.rkB/s: 每秒读取数据量(单位kb)
5.wkB/s: 每秒写入数据量(单位kb)
6.%util: 磁盘的繁忙程度,如接近100%那说明磁盘已经到瓶颈
5. 命令 sar (查看网络)
说明:sar命令可以通过参数单独查看系统某个局部的使用情况
语法:sar [options] [-A] [-o file] t [n]
1. 命令:sar -n DEV 1 2
(-n:网络设备;DEV:磁盘设备)
1). 1:表示一秒采集一次信息,可自行设定
2). 2: 表示采集的次数,可自行设定
2. 关注指标:
1). rxkB/s: 每秒接收的数据大小,单位kb
2). txkB/s: 每秒发送的数据大小,单位kb
3. 使用场景:
1). 查看当前网络数据包大小,是否存在网络瓶颈
6.2 工具 nmon
说明: Nmon 是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可以应用在linux操作系统上)
1. nmon使用步骤
1). 解压文件
解压:tar -zxvf nmon_linux_14i.tar.gz (z:gzip压缩包;x:解压、v:详细信息、f:文件(必须放参数最后,文件前面)
2). 复制移动对应系统的nmon工具
说明:
1). rm:移动命令
2). /tmp:移动到/tmp临时目录 (建议:直接放到 /usr/local/bin目录下,这样在哪个目录下命令nmon都可以运行)
3). nmon:移动过去后重名命名为nmon
3). 执行工具,运行 nmon
说明:./nmon -s3 -c10 -f -m /mnt/hgfs/vmwareShare/result
(3秒钟采集一次,共采集10次,保存到/mnt/hgfs/vmwareShare/result)
1) ./nmon:当前目录下执行nmon文件
2). -s:时长-采集数据频率
3). -c:采集次数
4). -f:生成文件名包含文件创建时间
5). -m:指定生成文件保存目录
提示:
1. nmon工具只是采集结果,结果文件为.nmon,不能直接打开使用,需要使用Excel分析工具提取数据;
4). 使用Excel分析工具分析
说明:
1). 点击 标1 浏览nmon文件
2). 点击 标2 打开nmon文件(分析完成后会提示保存为excel文件,选取保存路径进行保存)
提示:
1). excel需要开启宏设置
2). 如果提示加载文件类型错误,把电脑右下角星期几 给去掉(删除dddd);