|
我把其中的{C_PORT_CODE}参数化了,它是一个类似100到900的号码,共有800个值,我用了for循环,每达到10个request才并行提交一次。
{C_PORT_CODE}的设置如下
select next row:Unique;
update value on:Each occurrence;
when out of values:continue with last value(abort vuser也尝试过)
allocate 20 values for each vuser
我设置40个vuser,迭代一次,每个vuser分到20个值,一共800个值,迭代一次刚刚好。
问题是,我设置增量为7或8或11个vuser开始并发跑,每15秒增加一次,都是没问题。但是当我设置为10的时候,就不行了,服务器完全没反应,然后运行中的vuser就一直不断累积
直到40个,然后就什么也没反应了。这时候手动在客户端上想操作,发现已经无法和服务器连接,无响应。
或者时间间隔由15秒减小为10秒,第一波vuser没跑完,第二波就压上来,累积超过10个,也会出现上述现象。
这样我就没法测并发50或100等数量的情况了。求助
Action()
{
int k;
//并行提交----------------------------------------------start
web_concurrent_start(NULL);
//k为循环做组合数
for(k=1;k<=10;k++){
web_add_header("USER", "ADMIN");
web_custom_request("baseoper_4",
"URL=http://192.168.2.2:8080/PLATFORM/baseoper",
"Method=POST",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Mode=HTTP",
"EncType=application/x-java-serialized-object",
//我把这个参数化了{C_PORT_CODE}
"Body={...略..."C_PORT_CODE":"{C_PORT_CODE}"...略...}",
LAST);
}
//并行提交----------------------------------------------end
web_concurrent_end(NULL);
return 0;
}
|
|