背景: socket 10053异常:软件主动放弃一个连接,原因是超时或协议错误。如果LR客户端报10053异常,说明LR在执行套接字操作时,发生通信超时、网络中断或其它异常,主动将Socket连接断开。也就是说:10053异常是从LR的角度断开连接的。
场景: 一次connetion后多次send和recive数据,回放脚本,出现 Software caused connection abort. Error code : 10053.
环境: 主要是后台系统:AIX系统 apache服务器+weblogic+oralce11g
解决: 1.可以修改apache配置。
这个资料大家可以参考 http://www.cnblogs.com/pent/archive/2007/03/31/694903.html
大体意思就是Loadrunner采用的socket机制 apache对于这种频繁请求数据做了限制 从而导致脚本回放失败。
2.关闭socket然后再connection
部分脚本 int rc;//rc为0,则判断能返回数据
lrs_close_socket("socket3");
rc=lrs_create_socket("socket3", "TCP", "RemoteHost=192.168.10.197:61616", LrsLastArg);
lr_output_message("rc=%d",rc);
总结: 这个问题是由于lr自身的机制引起的,只要认真分析,调试,完全可以避免这个问题。
注意:单个脚本回放正确,但是在多用户的场景下时,有个别vuser的事务失败情况时,查看是哪个id用户失败,(是否一直是该id用户出错,是的话可能参数化有问题)。
并查看该id用户的log,如果log中出现Mismatch的话,说明发送和接受的字节数不匹配造成的,需要修改。