51Testing软件测试论坛
标题:
求助loadrunner测试TCP时,服务器返回信息延迟
[打印本页]
作者:
june.diny
时间:
2014-4-4 10:10
标题:
求助loadrunner测试TCP时,服务器返回信息延迟
在做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执行,会慢那么几秒。求指导!!!!!
作者:
june.diny
时间:
2014-4-4 10:16
补充:服务器用的是mule。
是服务器设置问题?
另外,jmeter的原理和loadrunner的TCP实现原理有区别?
作者:
june.diny
时间:
2014-4-4 10:31
问题查到了,脚本没有问题。
是测试数据不一致导致的。
loadrunner里面的用的账号相关联信息较多,数据库查询数据慢导致的。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2