压力测试性能测试培训——LoadRunner11_第1页
压力测试性能测试培训——LoadRunner11_第2页
压力测试性能测试培训——LoadRunner11_第3页
压力测试性能测试培训——LoadRunner11_第4页
压力测试性能测试培训——LoadRunner11_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、性能测试本文旨在通过介绍LR的使用过程中的常见问题,LR的具体功能介绍请参考LR 11帮助文档。一、 测试方案在性能测试之前,需要先收集性能测试需求,根据需求制定测试计划和测试方案。测试方案应该包含测试目的、测试环境、测试方法、测试工具、监控方式、测试案例、风险分析等。测试案例模板示例:场景编号S-1场景名称XX交易基准测试/XX并发场景描述采用什么方式测试什么内容期望结果期望系统达到的效果测试数据1. 对XX字段用XX个数据进行参数化;2. 数据库存量数据XXX;场景设计1. 并发用户数加载方式、运行时间;2. 是否增加思考时间,思考时间设置多长时间;3. 是否增加集合点;4. 超时时间设置

2、多长时间;5. packing time设置多长时间;6. 组合场景各脚本用户数所占比例说明;测试脚本说明采用已做过基准测试脚本二、 脚本准备1.1. 录制选择脚本录制协议,该协议是指客户端和服务器之间的通讯协议。如下图所示:点击Create,弹出开始录制对话框,如下图所示:选择浏览器、要录制的应用URL,点击OK,即可启动脚本录制。在脚本录制过程中可以添加注释、集合点、事务、检查、思考时间等。1、 对于具体应用,可以将登陆、退出操作分别放在init、end中,可以针对不同交易创建多个Action。Init和end 是不进行迭代的。2、 根据测试需求,可以精简脚本,将不需要的请求删除。3、 将

3、关注的交易适当添加事务,事务不能包含思考时间,事务名称要规范。4、 如果系统对某个交易有高并发要求,例如能够承受1000人同时提交数据,这种情况下可以将该交易定义为一个事务,在该事务前加集合点。5、 脚本录制过程中思考时间一般比较长,可以适当的减少思考时间,并设置脚本运行时思考时间。1.2. 参数化1、在脚本中,查找需要参数化的字段值,选择,右键选择“Replace With A Parameter”,弹出参数化窗口,如下图所示:2、输入参数化名称,点击Properties,打开Parameter Properties窗口。如下图所示:3、点击Create Table-OK-Edit with

4、 Notepad,以记事本的方式打开参数列表,输入参数,保存后关闭记事本。4、设置参数选取原则:Ø sequential:按照顺序一行一行的读取。每个虚拟用户都会按照相同的顺序读取。Ø random:在每次循环里随机的读取一个,但在循环中保持不变。Ø unique:唯一的数。Ø same line as .:和前面定义的参数取同一行值。Ø each occurrence:在运行时,每遇到一次该参数,就会取一个新值。Ø each iteration:运行时,在每次循环都取同一个值。Ø once:运行时,每次循环,该参数只取一次

5、值。组合:1) sequential+each iteration:每次迭代都顺序取值,当迭代次数大于参数取值列表时,从头开始取值;2) sequential+each occurence:参数每出现一次,都顺序取值,当参数出现次数大于参数取值列表时,从头开始取值;3) sequential+once:参数从取值列表取一次值,之后一直使用该值;4) random+each iteration:每次迭代都随机取值,一次迭代中相同参数取值相同;5) random+each occurrence:参数每次出现都取随机值,一次迭代中相同参数取值不同;6) random+once:随机取一次值,一次迭代

6、中相同的参数都取一个相同的随机值;7) unique+once iteration+when out of value:每次迭代都顺序取值,当迭代次数大于参数的取值列表时,按照when out of value策略处理;8) unique+once occurrence+when out of value:参数每次出现都顺序取值,当参数出现次数大于取值列表时,按照when out of value策略处理;9) unique+once:参数列表取一次值,一直使用该值。10) 用户名和密码一一对应的,密码选取“same line as 用户名”。1.3. 检查点通常采用校验返回报文内容来确认交易

7、是否成功。添加检查点方法:获取交易返回报文的某个字段的值,校验该字段的返回值是否正确。示例:1、 脚本录制完成后,运行一次脚本,查看返回报文:2、 在报文的返回消息里,查找可以进行校验的值,注册函数,并进行校验:1.4. 关联当客户端的某个请求是随着服务器端的响应而动态变化的时候,需要用到关联。关联即在脚本回放过程中,客户端发出的请求,通过关联函数所定义的左右边界值,在服务器响应的内容中查找,得到相应的值,以变量形式替换录制时的静态值,从而向服务器发出正确的请求。例如,客户端发出登录页面的请求,服务器端得到该请求后,返回登录页面,同时动态生成一个session ID,当用户输入用户名密码请求登

8、录时,该Session ID同时被发送到服务器端。如果该session ID在当前会话中有效,那么返回登录成功的页面,如果不正确则登录失败。此时该session ID就需要进行关联。1、自动关联:1) 脚本录制完成后,至少回放一次;2) 按【F8】,LR自动扫描需要关联的值;3) 根据提示进行关联;4) 关联完成后,在脚本中增加了一个web_reg_save_param函数。5) 回放脚本,查看日志,检查关联是否成功。2、 手动关联:1) 录制脚本两遍,比较两个脚本的不同【Tools-Compare with Scripts】;2) 定位该值是通过哪个请求返回的,然后定义参数获取该值;3) 使

9、用参数替换掉脚本中相应的值;4) 回放脚本,查看日志,检查关联是否成功。1.5. 调试1、 设置调试断点(F9)设置调试断点,脚本运行到断点处,自动停止运行,可以通过查看日志了解运行情况。2、 单步执行脚本(F10)通过单步执行,可以看到脚本中每一个函数执行情况,一般情况下结合断点一起使用。3、 调试日志脚本运行过程中,可以通过运行日志了解脚本运行情况。日志分为标准日志和扩展日志。标准日志只能获得标准的输出信息,扩展日志可以根据配置查看参数替换、服务器返回信息和高级跟踪信息。通过选择Vuser->Run time settings->log->Extended log打开扩展

10、日志。4、可以在脚本中添加输出函数,在日志中查看输出信息,协助脚本调试。1.6. 设置1、 超时:在压测过程中,因为并发量和网络原因,经常会出现交易超时的错误,所以在进行测试过程中建议将几个超时时间设置长一些。路径:Vuser->Run time settings->Internet Protocal->Preference->Options2、 清缓存:在每次迭代运行前,清除浏览器缓存。路径:Vuser->Run time settings->Browser->Browser Emulation3、 Think Time:为了尽可能模拟用户实际操作情

11、况,建议添加思考时间。路径:Vuser->Run time settings->Think Time三、 场景设计场景分为手工场景和目标场景两种。手工场景根据设计的负载测试性能指标,目标场景根据设计的性能指标测试负载。手工场景设计:设计用户初始方式、加载方式、执行时间、退出方式。Ø Scenario(整体规划):多个脚本组合场景的时候根据设计的场景运行方式,所有脚本按照统一方式进行加压;Ø Group(组规划):多个脚本组合场景的时候,单独设计每个脚本的加压方式;Ø Real-World schedule:按照场景设计进行加压,可以实现梯度加压和峰值加

12、压;Ø Basic schedule:按照脚本设计的迭代方式执行,只能进行峰值加压。通常使用Scenario + Real world schedule组合。1) 基准测试:采用一个虚拟用户迭代执行N次,取测试结果的平均值作为基准参考值。2) 单交易负载采用多个用户并发的方式对单交易进行负载测试,分析性能指标是否满足需求。使用峰值加压,可以测试特定峰值下系统性能情况。使用梯队加压,可以测试系统的最大并发用户数和最佳并发用户数。建议:在单交易负载测试时,采用峰值加压和梯度加压相结合的方式进行测试。3) 综合场景负载模拟真实交易场景,分析正常业务交易量,选取日交易量最多的几个交易,合理分

13、配并发用户数,持续运行一段时间,分析测试结果是否满足需求。4) 稳定性测试根据需求选取几个常用交易,按照峰值压力的百分比进行加压,稳定运行一段时间,查看系统运行是否正常,系统资源利用率是否在最佳状态。四、 过程监控1. LR监控2. 系统资源监控工具:Nmon五、 结果分析1、 摘要:主要关注下面几个值:Ø 事务平均响应时间:越小越好Ø 90%事务响应时间:越小越好Ø 事务通过成功率:越大越好Ø 标准方差:越小越好,越稳定2、Hits per Second(每秒点击次数)“每秒点击次数”,即运行场景过程中虚拟用户每秒向Web服务器提交的HTTP请求数。通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。3、Throughput(吞吐率)“吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。其度量单位是字节,表示虚拟用户在任何给定的每一秒从服务器获得的数据量。可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。“吞吐率”图和“点击率”图的区别:“吞吐率”图,是每秒服务器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论