|
LoadRunner场景执行的时候对并发用户数和成功失败的事务数是怎么统计的,我发觉现在越来越糊涂了:
场景设计:
1、录制一个 登录 的脚本,创建一个检查点,如果登录失败,会重新登录,否则继续执行,
2、准备500个用户名参数,参数选择方式用Unique+Once
3、400个用户并发在场景中登录
4、在runtime-setting中设置:如果遇到错误继续执行
根据上面的设置在脚本(VuGen)中用断点调试的时候,if...else...语句是能够正常执行的
vuser_init(){
web_reg_find("Text=Hello",
"SaveCount=hello_count",
"Search=body",
LAST);
lr_start_transaction("login_trans");
web_submit_data("login",
"Action=http://www.test.cn:18000/login",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://www.test.cn/proxy.html?1226893532179",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value=test", ENDITEM,
LAST);
lr_end_transaction("login_trans", LR_AUTO);
if(atoi(lr_eval_string("{hello_count}"))==0){
lr_log_message("=========%s login failed,execute if =======",lr_eval_string("{username}"));
lr_start_transaction("login_trans");
web_submit_data("login",
"Action=http://www.test.cn/login",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://www.test.cn/proxy.html?1226893532179",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value=test", ENDITEM,
LAST);
lr_end_transaction("login_trans", LR_AUTO);
}else{
web_url("changeState",
"URL=http://www.test.cn/ImBill/changeState?bID={WCSParam_Text1}&state=Online&1226893545992",
"TargetFrame=",
"Resource=0",
"Referer=http://www.test.cn/proxy.html?1226893532179",
"Mode=HTML",
LAST);
}
return 0;
}
疑问:
1、个人认为做了上述的条件限制以后,应该所有的用户都会登录成功,但是为什么还会有失败的用户呢?这个会不会跟服务器返回500错误有关?
2、login_trans这个事务是如何做统计的,如果做了上述的条件限制后,login_trans至少应该是500次吧,但是统计的结果好像不准确,如何知道这个事务是否真的成功了呢?
3、LoadRunner场景执行的时候对并发用户数和成功失败的事务数是怎么统计的?
4、我看到在场景执行的时候Run状态的用户是500个,可是接近场景结束的时候,却有很多的用户是Failed的,这是什么原因呢?
[ 本帖最后由 qicyt1812 于 2008-11-18 11:52 编辑 ] |
|