loadrunner并发10以内的没问题,但是10以上就服务器无响应了,求助
我把其中的{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;
}
似乎没把问题说清楚,描述似乎也和代码不符。。。 楼上的可能我太急了
我现在想做50个vuser并发,但是达到10个以上以后,就卡住了,服务器没响应了。 1个用户10个请求,10个用户就是100个请求并发了,是不是压力太大了啊。
saharaqs 我折腾一天了,,,我是慢慢加到9个,都可以的。
但这个场景只能是第一拨9个,执行完了,第二拨的9个才压上来,然后总的在跑的vuser数一直都不会超过10个,很轻松跑完了。
如果间隔时间稍短一些,造成第一拨没执行完,第二拨就压上来,总数超过10几的话,也会无响应,我要手动重启服务端。
如果直接一拨压10个,那马上就无响应了,卡死在那里。 这我没法测同时有几十个在跑的场景了啊 头痛死了。
9和10 就差了一个用户而已啊 是不是服务器有连接数的限制之类的啊。
在卡死的时候看看系统后台日志,有没有报错什么的 saharaqs谢谢。应该是你说的那样。
我目前9用户*10请求=90请求一次,可以通过
我再尝试10用户*9请求=90请求;10用户*5请求=50请求,都卡死
说明服务器不是限制并发请求数,而是限制用户连接数。
页:
[1]