教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

Loadrunner系统知识(非常好)(7)

来源:网络收集 时间:2026-08-26
导读: //char session22[20]; value=\ web_url(\ \ \ \ \ \ \ LAST); strcpy(string,\ strcpy(string,lr_eval_string(\ //strcpy(session1,\ sprintf(session11,\ strcat(string,\ length= strlen(lr_eval_string(session

//char session22[20];

value=\

web_url(\

\ \

\ \ \ \ LAST);

strcpy(string,\

strcpy(string,lr_eval_string(\

//strcpy(session1,\

sprintf(session11,\ strcat(string,\

length= strlen(lr_eval_string(session11)); length=length-2;

number1=atoi(lr_eval_string(\ number2=atoi(lr_eval_string(\

lr_output_message(\

//lr_output_message(\ stringtemp=lr_eval_string(session11); strncat(string,stringtemp,length); //srcat(string,session11);

lr_save_string(lr_eval_string(string),\

lr_output_message(\ lr_output_message(\

web_submit_data(\

\ \

web_reg_save_param(\

border=0> \

web_reg_save_param(\

31

\ \ \ \ ITEMDATA,

\{session}\ \ \ \ \ \ LAST);

lr_output_message(\{session}\

return 0; }

有两个关联的参数,session1和session2,最后生成session,被web_submit_data函数调用。蓝色部分是需要特别注意的地方。

脚本编写调试过程中遇到的问题和解释:

1. web_reg_save_param()中如果没有指定Ord=ALL的话,默认是取的第一个符合左右边界的

值,这样我们使用关联的参数时可以直接使用变量名,如session1

2. web_reg_save_param()中如果指定Ord=ALL的话,会生成一个数组,这样想取某个参数

的话,需要使用的参数名需要加_和数组中的位置,如例子中取第一个session1_1,如果这时候仍然用session1,是取不到参数的值的. 3. 顺序问题:对关联参数相关的操作,需要放到包含该关联数据的请求函数之后,如上紫色部分

代码用到关联的参数的语句,都需要放到web_url()之后,否则也不会取到关联的数据 4.注意lr_eval_string()函数和lr_save_string()函数的用法..

LoadRunner如何在大负载下测试

在大负载中使用LoadRunner进行负载测试,需要配置一些环境来满足大负载下各种资源的充足:

1.为了避免出现“No Buffer Space Available”的错误,需要进行如下配置: 1)修改注册表:

* 设置

“HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\tcpip\\Par ameters\\TcpTimedWaitDelay”为 30 * 设置

“HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\tcpip\\Par ameters\\MaxUserPort”为 65534 * 在

32

“HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\Session Manager\\Sub Systems\\Windows”设置SharedSection 为 4096

2)通过在每个脚本的开头添加如下函数来设置“SHUTDOWN”模式为\

web_set_sockets_option(“SHUTDOWN_MODE”,”ABRUPT”) 2.关闭所有的杀毒,反间谍扫描软件等。同时也关闭任务扫描和所有不需要的服务。

3.脚本运行时设置:

1)设置日志为“只在错误发生时发送信息” 2)去掉错误时产生snapshot的选项

3)在miscellaneous上,去掉 定义每一步为一个事务 的选项

4)不选择 模拟浏览器缓存,选上“simulate new user on each iteration”和它的子选项

4.如果下载的页没有资源,在web_url函数中添加“Mode=HTTP”,这样会减少LG上的负载(不用转换成HTML)。默认情况下,web_url的Mode为Mode=HTML 5.重启LG并且确保他们都能跟Controller连接. 6.确保LG和控制器上有足够的剩余磁盘空间. 7.在controller中去掉web page breakdown

8.限制Vuser在所有LG上同时进行初始化的数目.可以在Controller的Tools > Options > Run-Time Settings中进行修改.每个LG都有这个设置. 9.限制controller在运行时存储的错误数.通过修改wlrun.ini中的[output]项来实现:

? FlagLimitOutputMessages=1

? MaxNumberOfOutputMessages= (default is 10,000) 10.在Controller上修改Monitor的采样率来降低CPU的使用.可以在Controlller的Tools > Options > Monitors 下修改,如下图所示:

33

11. 如果有很多错误产生,最好不要经常打开Error/Output窗口,因为这样会因为访问数据库而打开另外的数据库连接. 12.负载测试中不要使用\选项.

13.把输出信息重定向到一个文本文件中来代替输出到mdb文件中.可以在wlrun7.ini中修改[output]下的 ExportMessageToFile=1来实现.

14.不要在Controller机器上运行虚拟用户. 15.在场景中设置监视器:

* 内存使用上 mmdrv进程的private bytes * disk使用 * CPU使用 * 网络使用

16.把脚本中所与打印信息的脚本去掉.如下面的代码每次迭代都会调用一次,对大量并发用户的运行产生负面的影响.

lr_vuser_status_message(\

START Action\lr_output_message(\lr_eval_string(\

Controller处理所有虚拟用户的信息,这样会大大降低Controller的性能. 如下是类似的代码:

web_reg_find(\web_url( some url ?);

if (atoi(lr_eval_string(\lr_error_message(some message);

lr_end_transaction(\}

通常认为在脚本中插入lr_error_message是不好的,除非是调用的客户化的API失败了才有必要插入该语句.如果是LoadRunner的函数调用失败(如上面的web_url调用),它会自动发送一个错误消息.

34

在大量用户运行的情况下,控制Controller和LG之间的通信流量是非常重要的.发送多余的信息(错误,输出等信息)会增大通信流量降低负载能力.所以,通常都需要把代码中不必要的信息去掉.

17.去掉脚本中所有的sleep()的调用,用lr_think_time()来代

替.lr_think_time给LR让出控制,即LR能够在Vuser休眠的时候去做其他有用的事情.

18.不要去掉lr_think_time:使用该函数能更准确的模拟负载,对LG产生相对小的压力

19.web_reg_save_param和web_reg_find()函数:

? 在 web_reg_save_param() 中添加“Notfound=empty” 参数.

? 在 web_reg_find() 添加 \如果你想知道它是否成功可以使用

atoi(lr_eval_string(\来衡量. 20.其他

可能会出现的问题: * 测试产生了太多的错误:

错误引擎不能处理多于1.5GB的错误

如果测试过程中每秒产生多与1000个错误,Controller的行为将不可预测

* 测试产生了大量的在线数据

上面的两个问题都可以使用如下的方法解决: 例如: 场景是一个组有1000个虚拟用户 可以把这个组分 …… 此处隐藏:2324字,全部文档内容请下载后查看。喜欢就下载吧 ……

Loadrunner系统知识(非常好)(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/413535.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)