手记

LoadRunner基础入门须知

LoadRunner

1.     学习过程:工具入门-》系统业务-》性能需求-》监控-》调优-》脚本开发

      (1) 录制、回放、负载、得到结果。

      (2) 理解协议原理、熟悉系统业务架构。

      (3) 负载测试结果分析出问题、编写测试报告。

      (4) 监控系统定位分析问题。

      (5) 针对问题调优、学习操作系统原理、数据库等知识。

      (6) 工具开发脚本。

2.     服务器测试,时间、空间。

3.     分类:狭义性能测试-在特定的运行条件下验证系统的能力的状态。验证系统是否有他宣

    称的能力。

     负载测试-被测系统上不断加压,直到性能达到极限。例:响应时间

     压力测试-系统饱和状态下,cpu,内存系统能处理会话的能力,以及系统是否会出错。

     并发测试-多用户同时访问同一应用,同一模块是否存在死锁或者其他性能问题。

     配置测试-不同软硬件环境对性能的影响。

     可靠性测试-在给系统加载一定业务的情况下运行一段时间,以检测系统是否稳健。一般选3天。

4.     性能测试指标:并发用户数、响应时间、单位时间内请求的事务数(TPS  transction per second)、资源利用率。

      (1) 响应时间:发起请求到服务器处理完成返回结果到客户端的时间。网络传输时间+服务器处理时间,不包括浏览器渲染时间。

      (2)cTps: transaction per second  (其他常见的 hps: hits per second每秒请求数、吞吐量:服务器处理能力。)

      (3) 资源利用率:CPU利用率——不允许超过70%-80%

                 对列长度——队列越长,CPU利用率越高。

                 Mem利用率——80%以下          

             页交换频率——物理内存和虚拟内存交换频繁程度。

             带宽利用率——100Mbps=12.5MB/s    1Byte=8bit

      注:如果资源利用率太低,会造成资源浪费。

(4) 用户数:并发用户数,同一时间向服务器发送请求的用户数量。

      注:和每秒的并发请求数不同,一定要确认需求的目的是并发用户数还是并发请求数。

5.性能测试流程

(1) 需求分析——测试对象: 常用的,核心的重要的、数据量、并发量。例如:登录、注册、搜索、添加购物车、支付、下单。

确定性能指标:吞吐量、响应时间、用户数、资源利用率。例如:每天完成交易额2亿,估算平均值客单价200-500,以300计算,求每秒最大交易数?28定律,80%的用户请求都集中在20%的热点数据上,或时间段。

  总交易数:200000000/300=666666.66667总交易数量

  80%的交易 666666.66667*80%=533333.33334

  20%的时间  533333.33334/(24*20%)=111111.11111  每小时的交易数

  每秒的交易数: 111111.11111/3600=30.8

            测试的场景:单一场景。例如:登录、注册、搜索、添加购物车、下单、支付。

                        混合场景。例如:用户使用场景、系统使用场景。

(2) 测试计划:

       测试目标

       测试人员组织

       测试进度安排

       压力机配置、要求、数量

       测试风险

(3) 测试方案

      测试工具:Loadrunner:QTP(UFT) 、ALM

Jmeter

            测试环境:尽量满足和生产环境一样。

            测试策略:单一场景、混合场景。

            监控工具:Linux : nmon, rpc, jvisua/vm, spotlight

                      Windows :Spoight, perfmon:exe

(4) 用例设计:

           测试脚本:基于脚本的测试用例

           场景设计:基于场景的用例。

(5) 测试执行

           脚本编写:

           场景监控设计:

           运行场景:

           场景监控:

           测试报告:

(6) 定位分析问题

                 后端方面:代码、软件,如数据库、应用服务器

                 前端问题:

                 网络问题

6.  Loadrunner 安装:windoes家庭版不能安装,支持IE9以下,不要安装杀毒软件、防火墙关闭。

7.  Loadrunner组件:     VuGen

                        Controller

                        Analysis

8. 协议探测器。打开首页后点击搜索图标。

9. Loadrunner脚本录制流程:

 IE不能启动时 :64位的操作系统,选择program files(X86)下的IE浏览器

              IE浏览器设置为默认浏览器

              IE版本为IE9以下。

              更换低版本的火狐浏览器。

              卸载杀毒软件。

 

初始化开始,执行,初始化结束。Action可以有多个,vuser_init和vuser_end只能有一个。

10. 运行脚本及结果查看

View->test results->action summery  响应页面信息。

11. html不同录制级别

   Options – recording – http/html level

      Html based script:每一步打开网页的请求的操作封装成一个函数,无论有几个请求。接口形式web_url,不依赖上下文  页面形式 web_image,依赖上下文. 接口形式更准确。

      url based script:每一步url请求都封装成函数

12. Loadrunner 流程简介

    Tools->Crate Controller Scebario 创建场景。一般选择手工场景 Manual scenanio

13. 错误处理函数

      viod lr_continue_on_error(0) 和 lr_continue_on_error(1 ) 配和使用。

14. lOadrunner录制java脚本,最高支持jdk1.6

15. java录制脚本适用范围

(1)       不太适合录制的业务功能点的测试,例如视屏播放,http文件下载。

(2)       利用java语言开发的应用系统

16. 脚本编写最佳实践

        (1) Generate 录制或开发脚本

        (2) SUSI 运行录制或生成的脚本,解决可能存在的关联性问题。

       (3) SUMI 参数化脚本,在run_time 中设置迭代,再次运行,验证参数化问题。单用户多循环

(4) MUSI Controller里多用户运行脚本,验证脚本中可能存在的多线程同步问题。多用户单循环。

        (5) MUMI 多用户多循环,即性能测试开始。

      注:1-3是在VU中进行的,4-5是在Controller中进行的。

17. Loadrunner常见错误的处理方法

(1) 当一台主机上安装多个浏览器,录制脚本时经常遇到浏览器打不开的情况,解决办法:启动浏览器,打开Internet对话框,切换到高级,去掉启用第三方浏览器扩展的勾选,重启浏览器,再次运行VuGen.

注:可能是安装了杀毒软件,或者时安装了火狐,谷歌都会默认勾选。

(2) 录制的脚本存在乱码问题:录制之前,打开录制选项配置对话框record_options,进入advanced,勾选support charset ,然后选择支持utf-8,再次录制。

(3) error -26377:no match found for the request parameter ……if the data you save exceeds 1024bytes,use web_set_max_html_param_len to increase the parameter size.

        参数化前把web_set_max_html_param_len(999999)值加大,

在关联函数前添加“NotFound=warning”

        Web_reg_save_param_ex(

                 “ParamName=CorrelationParameter_1”,

                 “LB=114936.3”,

                 “RB=f”,

                 “NotFound=warning”,

                 ……

)

        (4)录制脚本为空

                协议选择错误、没有选择jar包、检查防火墙和杀毒软件。

 

(5) Action c(16) :Error -27728:stept download timeout(120 second) has expired when downloading non-resource(s)

因为Http默认超时时间为120s,客户端发送一个请求到服务器端,如果超过120s没有接收到服务器返回的结果,则出现超时错误。解决办法:将超时时间设置的长一些,再设置发、多次迭代运行,如果还有超时现象,需要在“runtime setting> internet protocol:prefernces>advanced>options>”修改”HTTP-request connect timeout,http-request receive timeout,step downlod timeout ”的值,再次回放是否成功。

18. 关联设置

应用程序使用动态值,每次访问时值都会变化。Loadrunner将关联的值保存在参数中, 录制时使用。

19. Controller 简介

   一般先进行负载测试,然后进行稳定性测试。

   一般场景设计、场景监控。场景一般分为手工场景和目标场景。

   (1)手工场景:

自行设置虚拟用户的变化,通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载的生成手工场景“定量型”性能测试,掌握负载的变化过程中系统各个组件的变化情况,定位性能瓶颈,并了解系统的处理能力,一般在负载测试和压力测试中应用,手工场景的核心就是设置用户负载方式。

20. 负载生成器

        每生成一个虚拟用户,需要花费负载生成器2-3M的内存空间,通常运行controller的主机很少用作负载生成器,由其他主机担任,如果负载生成器的内存使用率大于70%,负载生成器就会变成系统的瓶颈,导致测试性能下降。

链接其他PC的负载生成器:

        1.其他PC安装Load Runner

        2. 进行代理设置,HP LoadRunner ->Advnced Settings ->Agent Configuration

        3. 允许远程服务配置。

21. 系统资源监控  windows resource

        1. 定位性能瓶颈

        2. windows resource 右击 选择 add measurements

性能项

资源

评价

CPU占用率

<70%

70%~85%


90%+

很差


磁盘

<30%

30%~40%


40%~50%

很差


网络

<30%贷款

运行队列

<2*cpu数量

内存

没有页交换

每个cpu每秒10个页交换


更多的页交换

很差


注:内存分页将虚拟内存空间和物理内存空间皆划分为大小相同的页面,如4kb,8kb,16kb,并以页面作为内存空间的最小分配单位,一个程序的页面可以存放在任何一个物理页面。

 

1人推荐
随时随地看视频
慕课网APP