本文主要讲解一下run-time settings(如图1所示)里各设置项的具体含义(注:标红色的选项卡是比较值得关注的,可重点看一下):javascript
图1html
主要用来设置运行时脚本迭代的次数,迭代次数只对run部分的脚本迭代次数有影响,而对int和end部分并无影响。通常设置为1~3次,只会影响在单位时间内客户端向服务器提交的HTTP请求数,其余的没有影响。java
Insert Action:为模块Init, Run和End再添加Action。浏览器
Properties:肯定Run logic中各Action的循环顺序和Iterations次数。缓存
主要用来设置脚本迭代过程当中脚本之间的时间间隔,如在第N次脚本迭代完成后,等待5s后进行第n+1次脚本迭代。服务器
as soon as the previous iteration ends:在屡次迭代时,上一次迭代执行结束后立刻执行下一次迭代(如图2所示)网络
图2多线程
after the previous iteration ends:能够设置为fixed或random方式。并发
fixed方式表示上一次迭代执行结束后,等待一个固定时间后,再执行下一次迭代(如图3所示);dom
图3(上一次结束后6s执行下一次迭代)
random方式表示上一次迭代执行结束 ,等待一个随机时间后,再执行下一次迭代,随机时间范围为设置的范围(如图4所示)。
图4(设置的随机范围为1~4s)
at fixed/random intervals。表示上一次迭代开始到下一次迭代开始之间的时间间隔,若是设置的时间达到后不管上一次迭代执行是否完成,到达规定的时间就开始执行下一次迭代,包含fixed和random两种方式。fixed表示一个固定的时间长度;random表示一个随机的时间长度,随机值范围为设置的范围。
图5(设置固定时间长度2s,上一次开始后2s执行下一次迭代)
综合上述能够看出第一种选择对服务器的压力最大,由于这个选项在单位时间内所作的业务数最多,即单位时间内提交的请求数最多,因此服务器的压力最大。所以若是进行压力测试时,能够须要该选项。
主要用于设置脚本回放时的日志格式。LR一共包括4类日志文件,即
replay log(回放日志):是脚本回放时lr记录的日志信息,包括客户端与服务器之间的通讯日志和HTML源码录制时的快照信息,但该日志信息的内容取决于log选项卡中extended log选项的设置状况。
recording log(录制日志):是录制脚本时产生的日志,主要是客户端和服务器端通讯时的一些交互信息。
correlation results(关联结果):是当脚本须要关联时,在回放脚本过程当中会记录录制和回放时须要关联内容的值。
generation log(生成日志):脚本生成时产生的日志。
Enable Logging:是否启动日志功能 ,即在场景运行过程当中是否收集日志信息。
Log message at the detail level of 日志的详细内容:
用来设置用户操做的思考时间(思考时间是指每一个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请求之间的时间缩短说明向服务器提交的请求数增多了,因此服务器的压力增长,若是进行压力测试时,能够选择该项设置。
是一个复合选项,涉及的功能比较复杂,包括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(设置事务的模式):
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,浏览器仍为该用户保留网页(从前面的循环中使用缓存页面)的状况则不要选中该选项。
No proxy(direct connection to the Internet):全部的Vusers不使用代理,直接方式链接到互联网。
Obtain the proxy setting from the default browser:全部的Vusers使用机器上运行的浏览器的缺省代理设置。该选项为缺省选项。
Use custom proxy:全部Vusers使用本身设置的代理方式链接到互联网。
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:最到能够保存在历史记录中的步骤。
若是选择Include Only Addresses In List, 表示重放只能限制在列出的WebSite或者是hosts中。
Exclude Address in lists:重放地址要排除列出的Website或者是hosts。 ContentCheck:
Enable ContentCheck During Replay:选择该项能够是用户获得Web Server发送回的Error。
Enable ContentCheck During Replay:选择该项能够是用户获得 Web Server 发送回的 Error。