最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

报道:LoadRunner——脚本优化(二)

来源:博客园

脚本优化

回放脚本验证成功后,可以进行添加事务、参数化、运行时设置。

事务:根据项目需要,除了衡量整个脚本的性能外,还想获取到脚本中的某一段或几段操作,例如:想知道从单击"login"按钮到显示首页这一登录过程的性能数据,以便更详细的知道具体是用户的哪些动作对系统性能的影响比较大。这时候,可以将登录的运行脚本标记在一个事务内。


(资料图)

在脚本中没有事务时,可以在脚本开始和结束的地方分别加上

lr_start_transaction("xxx");

lr_end_transaction("xxx", LR_AUTO);

表示整个脚本为一个事务。否则,可能监控不到事务响应时间

参数化:所谓参数化,针对的是脚本中的某些常量。让不同的虚拟用户在执行相同的脚本时,分别使用数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。例如在"用户搜索"的事务脚本中,搜索的关键字是"nba"。但实际情况中,每个并发访问的用户搜索的关键字是不一样的。所以要使每个用户执行脚本时的关键字都不一样,这个过程就需要对关键字参数化。

运行时设置:设置action的运行逻辑、迭代次数、设定思考时间、日志等

【迭代次数】

Run Logic 运行逻辑

Iteration Count: 迭代次数

Number of Iteration: 默认1 改为5

注意:循环的只是Action部分

vuser_init和vuser_end部分仅执行一次

【步,迭代间隔】

Pacing值:每次迭代之间的时间间隔。 单位:秒

每次迭代:LR每次执行Action脚本代码

默认:第一个,上一个迭代一结束就开始下一个迭代

有三个选项:

<1> As soon as the previous iteration ends

只要上一次迭代结束就进行下一个迭代

<2> 在上一次迭代结束后

固定的 延迟

With a fixeddelay of 6.000sec

随机的 时间精确到小数点后3位 2.768

With a randomdelay of 2.000to 3.000sec

间隔

<3> At fixedintervals, every 6.000sec

randomevery 2.000to 3.000sec

【思考时间】

脚本每个步骤之间的时间间隔。 单位:秒

每个步骤:一般都是每个请求

web_url 访问某个URL请求

web_submit_form 提交表单请求

web_link 点击超级链接请求

如果设置Ignore 忽略,则脚本中lr_think_time(); 会失效。

规律:Think time值越大,对SUT的压力越小。

思考时间是为了模拟时更加接近用户的真实行为。实际中,用户进行一系列的操作之间会有停顿,即思考时间,例如:加载出数据后,用户会阅读数据,而浏览数据的过程对服务器是没有压力的。因此,在脚本中用函数lr_think_time(double time)来模拟用户停顿过程(未执行任何操作的过程),执行该函数时,用户线程会按照相应的time值进行等待。如果选择忽略思考时间,会对服务器造成更大的压力。

关键词: