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脚本:
  1. //STEP1
  2. lrs_startup(257);
  3. lrs_create_socket("socket0","TCP", "RemoteHost=10.17.0.23:11007",LrsLastArg);  
  4. //STEP2
  5. char *pBuf = (char*)malloc(256);
  6. //>>>省略若干组织报文的C脚本<<<
  7. lrs_save_param_ex("socket0", "user", pBuf, 0, nOffset,"ascii", "body");
  8. lrs_set_socket_options("socket0", LRS_NO_DELAY, "TRUE");//设置发送选项
  9. lrs_set_send_timeout(1,0);//设置超时
  10. lrs_length_send("socket0", "buf1", 0, LrsLastArg);
  11. lrs_receive_ex("socket0", "buf2","StringTerminator=~", LrsLastArg); //判断返回,~是返回的起始符
  12. //STEP3
  13. lrs_close_socket("socket0");
  14. 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