1、如图错误:
2、C:\\Program Files (x86)\\HP\\LoadRunner\\dat\\channel_configure_merge.dat [General]下加入 shared_memory_max_size=100
3、C:\\Program Files (x86)\\HP\\LoadRunner\\launch_service\\dat\\channel_configure.dat [General]下加入 shared_memory_max_size=100
4、C:\\Windows\\wlrun5.ini 加入了AgentMaxThreadsPerDriver=50 to AgentMaxThreadsPerDriver=20 or 10
5、改为线程
6、将系统环境变量TEMP=%SystemRoot%\\TEMP 修改为C:\\temp
7、3+4+5其中一个解决了26000的错误
8、设置思考时间,http线程,解决了:10489,19890,82801的错误
9、JVM配置
java -Xmx2g -Xms2g -Xmn512m -Xss1m
-XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+PrintGC -XX:+PrintGCDetails -Xloggc:../jcLog
10、参数化的时候各种问题,改成C++随机数也可以,终于跑起来了
11、用到命令jstat -gc pid 10000 和jmap -heap pid 和top
代码如下:
Action()
{
int itera_num,rand_num,i;
char rand_bid[24]="";
char StrTable[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (i=0;i<=8;i++){
rand_num=rand()%62; //生成一个0到61的一个随机数
strncat(rand_bid,StrTable+rand_num,1); //拼接9次:StrTable+rand_bid 取StrTable中随机位的字符
}
lr_save_string(rand_bid,"rand_bid_value");
//lr_output_message("rand_bid==%s",rand_bid);
web_reg_save_param_ex(
"ParamName=Code",
"LB=err_code\\":",
"RB=,",
SEARCH_FILTERS,
LAST);
//web_set_max_html_param_len("10240000");
lr_rendezvous("concurrent");
lr_start_transaction("request");
lr_think_time(1);
web_custom_request("request",
"URL=http://自己IP",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=application/json",
"Body={json串<rand_bid>..............}",LAST);//此处用上面随机生成码
if(atoi(lr_eval_string("<Code>"))==200)//这个 Code不是消息头的,是Body内的,巧合
lr_end_transaction("request",LR_PASS);
else
lr_end_transaction("request",LR_FAIL);
return 0;
}