loadrunner - Run time Settings 的详细说明
本文主要讲解一下run-time settings(如图1所示)里各设置项的具体含义(注:标红色的选项卡是比较值得关注的,可重点看一下):
图1
1、General / Run Logic 选项卡
主要用来设置运行时脚本迭代的次数,迭代次数只对run部分的脚本迭代次数有影响,而对int和end部分并没有影响。一般设置为1~3次,只会影响在单位时间内客户端向服务器提交的HTTP请求数,其他的没有影响。
Insert Action:为模块Init, Run和End再添加Action。
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 message at the detail level of 日志的详细内容:
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 (表示运行时把虚拟用户当作进程还是线程来处理):
Automatic Transactions(设置事务的模式):
7、Network / Speed Simulation 选项卡
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更新的资源。缺省情况下,浏览器不会自动检测更新的资源。
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:本地保存场景的运行状况。该选项可以使用户更快更精确的看到场景运行状况。
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。