TA的每日心情 | 开心 2017-3-3 10:21 |
---|
签到天数: 4 天 连续签到: 1 天 [LV.2]测试排长
|
在做TCP接口的测试,执行一次请求,服务器log会打印2条数据(一条请求数据REQUEST,一条相应数据RESPONSE)
在jmeter下,执行请求,服务器log中的2条日志信息打印很快,相差毫秒级别;
TCP取样器设置如下:
Re-use connection:未勾选,Close connection:未勾选,
设置无延迟:勾选,SO_LINGER:0, EOL:35(返回数据的结束符)
而在loadrunner执行时,服务器log中的2条日志信息会相差几秒钟,打印完REQUEST日志之后,大概有个四五秒才给响应,打印RESPONSE日志。
loadrunner脚本:- //STEP1
- lrs_startup(257);
- lrs_create_socket("socket0","TCP", "RemoteHost=10.17.0.23:11007",LrsLastArg);
- //STEP2
- char *pBuf = (char*)malloc(256);
- //>>>省略若干组织报文的C脚本<<<
- lrs_save_param_ex("socket0", "user", pBuf, 0, nOffset,"ascii", "body");
- lrs_set_socket_options("socket0", LRS_NO_DELAY, "TRUE");//设置发送选项
- lrs_set_send_timeout(1,0);//设置超时
- lrs_length_send("socket0", "buf1", 0, LrsLastArg);
- lrs_receive_ex("socket0", "buf2","StringTerminator=~", LrsLastArg); //判断返回,~是返回的起始符
- //STEP3
- lrs_close_socket("socket0");
- lrs_cleanup();
复制代码 尝试了以下情形,服务器给出相应都会有延迟。
1.以上脚本都放在Action中,以短链接方式执行;
2.STEP1放到init,STEP2放到end中,以长连接形式执行;
3.不设置发送和接受选项,执行;
各位给分析分析,为什么jmeter执行,能够很快拿到返回,而loadrunner执行,会慢那么几秒。求指导!!!!! |
|