loadrunner - Run time Settings 的详细说明

本文主要讲解一下run-time settings(如图1所示)里各设置项的具体含义(注:标红色的选项卡是比较值得关注的,可重点看一下):

 

图1

1、General / Run Logic 选项卡

    主要用来设置运行时脚本迭代的次数,迭代次数只对run部分的脚本迭代次数有影响,而对int和end部分并没有影响。一般设置为1~3次,只会影响在单位时间内客户端向服务器提交的HTTP请求数,其他的没有影响。

  Number of Iterations:说明的是反复循环的次数。 常境的时间中,如果时间设为5分钟,而实际上程序的运行只需要1分钟,而在这项中,选择的是1次的话,那程序就运行完一次后,就不会再运行。相同的,如果在这一项中选择的是3次的话,那程序在运行后第一次后,还会再运行第二次,第三次。也就是说,在规定的时间和循环次数中,程序Run模块的运行不超过规定时间时,那程序Run模块会运行到规定的时间,不设定时间也可以进行循环。 

  Insert Action:为模块Init, Run和End再添加Action。

  Insert Block:为模块Init, Run和End添加阻碍。添加第一次为Block0,子目录为:No Actions;添加第二个为Block1,子目录为:No Actions,以此为推。 Delete:删除。删除每个模块下的Action Move Up:移动下面的模块到上一层 Move Down:移动下面的模块到下一层 。

  Properties:确定Run logic中各Action的循环顺序和Iterations次数。

2、General /Pacing 选项卡

     主要用来设置脚本迭代过程中脚本之间的时间间隔,如在第N次脚本迭代完成后,等待5s后进行第n+1次脚本迭代。

    as soon as the previous iteration ends:在多次迭代时,上一次迭代执行结束后马上执行下一次迭代(如图2所示)

图2

 

    after the previous iteration ends:可以设置为fixed或random方式。

fixed方式表示上一次迭代执行结束后,等待一个固定时间后,再执行下一次迭代(如图3所示);

图3(上一次结束后6s执行下一次迭代)

 

random方式表示上一次迭代执行结束 ,等待一个随机时间后,再执行下一次迭代,随机时间范围为设置的范围(如图4所示)。   

                                                                               

图4(设置的随机范围为1~4s)

 

at fixed/random intervals。表示上一次迭代开始到下一次迭代开始之间的时间间隔,如果设置的时间达到后无论上一次迭代执行是否完成,到达规定的时间就开始执行下一次迭代,包含fixed和random两种方式。fixed表示一个固定的时间长度;random表示一个随机的时间长度,随机值范围为设置的范围。

图5(设置固定时间长度2s,上一次开始后2s执行下一次迭代)

    综合上述可以看出第一种选择对服务器的压力最大,因为这个选项在单位时间内所做的业务数最多,即单位时间内提交的请求数最多,所以服务器的压力最大。因此如果进行压力测试时,可以需要该选项。

3、General /Log 选项卡

    主要用于设置脚本回放时的日志格式。LR一共包括4类日志文件,即

replay log(回放日志):是脚本回放时lr记录的日志信息,包括客户端与服务器之间的通信日志和HTML源码录制时的快照信息,但该日志信息的内容取决于log选项卡中extended log选项的设置情况。

recording log(录制日志):是录制脚本时产生的日志,主要是客户端和服务器端通信时的一些交互信息。

correlation results(关联结果):是当脚本需要关联时,在回放脚本过程中会记录录制和回放时需要关联内容的值。

generation log(生成日志):脚本生成时产生的日志。

  Enable Logging:是否启动日志功能 ,即在场景运行过程中是否收集日志信息。

Log options 
     Send messages only when an error occurs: 当脚本回放时出现错误信息时才收集日志,也即只收集错误日志信息。
     Always send messages :收集所有日志信息,不管是正确的还是错误的日志信息。

Log message at the detail level of 日志的详细内容:

       Standard log 标准的日志文件
    Extended log扩展的日志文件:
      Parameter substitution 表示客户提交给服务器端的所有参数会记录在日志文件中。
      Data returned by server 表示不仅包括Parameter substitution的信息,还包括服务器返回到客户端的信息也会被记录。
      Advanced trace 表示所有客户端提交和服务器返回的信息都会被记录。
一般情况将日志信息设置为扩展的Parameter substitution即可 ,如果选择其他的两种,那么产生的日志信息会很多,这样日志文件很大。

4、General /Think Time 选项卡

    用来设置用户操作的思考时间(思考时间是指每个HTTP请求之间的时间间隔)

  ignore think time:运行脚本时忽略思考时间,即上一个HTTP请求结束后,直接运行下一下HTTP请求,不等待。

  replay think time:设置脚本回放时思考时间,包括as recorded、multiply record think time by 和use random percentage of recorded think time三种方式。

  as recorded:按录制时的思考时间来回放,即如果录制时间思考时间为9s,那么回放时也按9s来计算(如图6所示):

图6

 

  multiply record think time by :根据录制时思考时间的整数倍来运行(如图7所示):

图7(按录制思考时间的2倍来回放)

 

  use random percentage of recorded think time:分别设置一个最大值和一个最小值,并从中选出一个随机值,在实际使用过程中一般会选择这种模式,设置最小值为50%,最大值为150%(如图8):

图8(按录制思考时间的0.5~1.5倍来回放)

 

  limit think time to:设置think time的最大值。如果上面的设置项,在回放时使用的思考时间超过所限制的时间,那么以该限制时间为准进行回放(如图9所示):

 

图9(限制思考时间为3s)

    综合上面的情况,设置为忽略思考时间时,对服务器的压力最大,因为在同样的场景执行时间内,HTTP请求之间的时间缩短说明向服务器提交的请求数增多了,所以服务器的压力增加,如果进行压力测试时,可以选择该项设置。

5、General /Additional attributes 选项卡

  添加一些不是系统本来就有的属性参数,可以获得不同客户端的值。  

6、General /Miscellaneous 选项卡

  是一个复合选项,涉及的功能比较复杂,包括3个设置项:

Error Handing  (表示脚本运行出现错误时所采取的措施,默认使用缺省值):

  continue on error:即使遇到错误也继续执行脚本. 

  Fail open transactions on lr_error_message: 当lr_error_message这个函数被transaction内部的脚本调用的时候,无法打开所有的transaction

  Generate snapshot on error:当遇到error的时候就自动产生快照.  

Multithreading (表示运行时把虚拟用户当作进程还是线程来处理):

     Run Vuser as a process:把每个vuser的运行当成一个进程. 
  Run Vuser as a thread:允许多线程,并且每个generator可以运行多个 vuser.
在工作中应该分析系统在客户端以进程还是线程运行,再来判断选哪个设置项。
注意:当以进程方式运行虚拟用户时,在负载机中的任务管理器中可以看到,每个虚拟用户才会产生一个进程,进程名为mmdrv.exe,如果以线程的方式运行时,任务管理器中则不会有这个进行,并且每个进程都需要消耗资源,通过这项数据可以计算出每台负载机最多可以并发多少虚拟用户数。

 Automatic Transactions(设置事务的模式): 

  define each action as a transaction:自动把每个action当作一个事务. 
  define each step as a transaction:自动把每一个步骤当成一个事务.  

7、Network / Speed Simulation 选项卡

  Use maximum bandwidth:所有Vusers使用系统允许的最大网速,该项为缺省选项。 
  Use bandwidth:可以在预定义好的下拉框中选则Vusers使用的最大带宽限制。
  Use custom bandwidth(bps):手动输入Vusers使用的最大带宽限制。带宽单位为bits。 

8、Browser / Browser Emulation 选项卡

  Simulate browser cache:配置Vuser模拟带缓存的浏览器。缺省缓存是被允许的,可以通过禁止该选项来使得所有VUser模拟的浏览器都不带缓存。

  Cache URLs requiring content(HTMLs):设置浏览器缓存URL的上下文(比如,HTML语法,认证或校验等),其他的URL的上下文不会被缓存,以减少内存使用。可以通过点击Advance来定义需要上下文的URLs。 

  Check for newer versions of stored pages every visit to the page:通过在header中添加If-Modified-Sinces属性来设置浏览器检查比当前存储在缓存中特定URL更新的资源。缺省情况下,浏览器不会自动检测更新的资源。 

  Download non-HTML resources:设置Vusers在刷新网页时下载图片。当real users访问网页时,需要等待图片的加载完成。如果用户想要测试整个系统,包括终端用户时间,则需要勾上该选项。如果需要提高性能且不需要模拟真实的用户,则不要选该项。 

  Simulate a new user on each iteraton:设置VuGen在每个循环的init会话结束,重启多有的HTTP上下文。这样使得Vuse更加真实的模拟一个新user开始一个浏览会话。该选项缺省是被选中的。 

  Clear cache on each iteration:当每个循环模拟一个最新访问站点的user时,则要选中该选项。当每一个循环模拟一个最近访问过站点的user,浏览器仍为该用户保留网页(从前面的循环中使用缓存页面)的情况则不要选中该选项。 

9、Internet Protocol / Proxy 选项卡

  No proxy(direct connection to the Internet):所有的Vusers不使用代理,直接方式连接到互联网。 

  Obtain the proxy setting from the default browser:所有的Vusers使用机器上运行的浏览器的缺省代理设置。该选项为缺省选项。 

  Use custom proxy:所有Vusers使用自己设置的代理方式连接到互联网。  

10、Internet Protocol / Preferences 选项卡

  Enable Image and text check:允许在执行期间检查图片或者文字的检查点。该选项仅适用于Html类型的脚本。另外,使用该选项会使用更多的内存。因此,系统默认该项是不选的。 

     Hits Per Second and HTTP Codes:该选项用来显示每秒点击率以及每秒HTTP相应图。选中后,可以在场景运行的时候动态看到该图,也可以在Analysis分析中看到该图。 

  Pages Per Second(Html Mode Only):选择该项后,可以产生每秒页面图,可以在场景运行或者在Analysisi中看到该图。 

  Response Byte per Second:选择该项后,可以产生每秒接收字节图,可以在场景运行或者在Analysisi中看到该图。

  Winlnet Replay Instead of Sockets(Windows only):仅仅用于Windows操作系统,选中该项后,使用Wininet Replay 引擎。注意:该选项在Socket Replay引擎失败后才可以使用。 

  File and Line in Automatic Transcation names:用文件名和行号给自动化的Transction命名,该选项默认是选中的,注意该项选中会使用更多的内存。 

  Critical Resource Errors As Warnings:非关键性的Fail作为Warning发送。例如:页面非关键的图片没有显示,或者某个非关键的JavaScript没有运行。该选项默认是选中的。 

  Save Snapshot Resources Locally:本地保存场景的运行状况。该选项可以使用户更快更精确的看到场景运行状况。

Options: 

     DNS Catching:保存DNS的IP地址。 

     Http Version:表明你的程序使用的Http版本。 

     Keep Alive Http Connections:允许长期保存Http连接,这样可以使多个需求通过相同的TCP连接。 

     Step Timeout Caused by Resources is a Warning:对于资源申请超时发布Warning而不是Error。 

     Parse HTMLContent-Type:对于HTML,当反馈内容是text/html(HTML),’text/’(TEXT)或者Content-type(ANY)时才进行解析。注意:text/xml不会被解析为XML类型。

  Accept Server-Side Compression: 表明回放的时候Server端可以接收压缩数据的情况。注意,接收压缩数据会引起额外的开销。 

  Accept-Language request header: 可以接受语言中以逗号分隔。 

  HTTP –Request Connect Timeout(Sec):对HTTP要求的连接操作时间限制,或者连接失败的时间限制。 

  HTTP –Request Receive Timeout(Sec):对HTTP要求的接收时间限制,或者失败时间限制。 

  Step download timeout(sec):一个完成的Script功能的完成时间限制,或者失败时间限制。 

  Network buffet size:Vuser可以使用的最大网络buffer大小,默认为12288。 

  Fixed think time upop authentication retry(mesc):模仿用户输入用户名和密码的时间。注意,这个作为事务时间的一部分。 

  Request Zlib Headers:当送到Server的需求数据是压缩的时,包含Zlib压缩库的头部。 

  Max Number of <META Refresh> to the same page:同一个页面可以打开的个数。 

  GUI-Mode default block size for DOM memory allocations:默认的DOM Blocak内存分配大小,太小会出现一些额外的内存调用失败以及操作,太大会造成内存浪费。 

  GUI-Mode single setTimeout/setInterval thresh hold:超过了SetTimeout设置的值,SetInterval的设置无效。该设置模拟了用户在等待超过一定时间后会点击下一个元素。

  GUI-Mode Accumulative setTimeout/setInterval threshold:超过了SetTimeout设置的值,忽略SetInterval。

  GUI-Mode fail on javascript error:对于Javacript的错误,如果选择Yes,提交一个Fail;如果选择No,提交一个Warning。 

  GUI-Mode History Support:是否支持历史记录。如果选择Auto,则仅仅记录第一次循环的情况。 

  GUI-Mode Maximum history size:最到可以保存在历史记录中的步骤。  

11、Internet Protocol / Download Filters 选项卡

  如果选择Include Only Addresses In List, 表示重放只能限制在列出的WebSite或者是hosts中。 

  Exclude Address in lists:重放地址要排除列出的Website或者是hosts。 ContentCheck: 

     Enable ContentCheck During Replay:选择该项可以是用户得到Web Server发送回的Error。

12、Internet Protocol / ContentCheck 选项卡

  Enable ContentCheck During Replay:选择该项可以是用户得到 Web Server 发送回的 Error。

 

posted @ 2016-12-01 15:31  一加一  阅读(6613)  评论(1编辑  收藏  举报