Action.c(58): Error -27796: Failed to connect to server "www.baidu.com:80": [10048] Address already in use
Try changing the registry value
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay to 30
and HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort to 65534
and rebooting the machine
See the readme.doc file for more information
该问题网上的回答多半是跟据提示在注册表中已将TcpTimedWaitDelay 改为 1;MaxUserPort 改为 65534;并且重启电脑。
但是根据这个改了之后还是无法解决,因为我的服务在linux机器上,linux机器的连接数也已经改为最大,然后把连接设置成复用,就可以了~
vi /etc/sysctl.conf //修改文件里以下参数
#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
保存后:
sysctl -p /etc/sysctl.conf // 作用:重新载入/etc/sysctl.conf文件
.......2012.10.20.-----
网上的提示多为:LR压力测试遇到如上错误,跟据提示在注册表中已将TcpTimedWaitDelay 改为 1;MaxUserPort 改为 65534;并且重启电脑。运行后仍出现上面的错误。。。。但还是无法解决。
于是~~~~:
在 run-time setting/browser emulation中将simulate a new user on each iteration 选项去掉(默认是选中的)。重新运行一切正常,没有错误出现。
【复制博主的猜测:
猜测原因,客户端性能比较好,发出压力太快,所以把tcp/ip的连接或端口占满。在网上查了一下,xp好像默认开启15个tcp/ip。。。
去掉这个选项的意思是,始终使用一个tcp/ip链接,不断开,也就是开发人员所说的长链接或持久连接。
短连接:建立连接-----发送和接收报文1-------关闭连接
长连接:建立连接-----发送和接收报文1.。。。2.。。。3-----关闭连接 】
妈的,累死了,搞了一整个晚上的connectify还是不能用,我cao...!又熬夜了,还一事无成,我的超级本啊,我的PPT啊。cao。。。不弄了,来去睡。
--------------------------------------------------------------------------------------------------
Error -27796: Failed to connect to server "125.93.51.230:8080": [10061]
Connection refused..
2013.05.31,这个27796一直是我心中的痛,试过网上所有的方法了,还是不行,我只能怀疑是不是我的客户端OS是win7的,所以才造成这种情况.....哎~!
认真分析这个错误,其实比较容易理解,就是连接不上服务,由于端口已经满了,那么自己的本机已经修改成65534,服务器已经修成成65534,那么这就是唯一的解决方式么?后来仔细思考,我找到了两种解决方式:
1、通过让每次迭代不启用新的连接,我想就可以解决此问题,经过验证,发现这个问题确实不发生了。操作如下,在controller的运行时设置中的-->browser Emulation-->不扣选simulate a new user on each iteration,这样运行时并发人数是多少,那么就启动多少个端口。还是上面的问题,是否勾选这个选项就一定会报27796错误么?
2、回答上面的提问,答案是不一定。如果你每次迭代启用新的端口,但是由于迭代次数*并发数<65534就不会报这个错误。如果设置的迭代次数*并发数>65534,也不一定会出现这个错误,例如:并发人数为1000,平均响应时间为1s,那么也就是说1s会占用1000个端口,也就是说不到66s时端口就会占满,如果服务器能在65s内关闭之前占用的端口之间的连接,也就是说65s超时时间,或者会话保持为65s以内,那么就能解决此问题。
以上提出两种解决方式,都可以解决27796error,一个是修改loadrunner中的controller设置,另一个就是设置服务器的超时时间在合理范围之内,不要太长,也不要太短。
---------------------------------
官方的troubleshooting:
查看工具的troubleshooting,如下:
Message Code 27796 Failed to connect to server 'hostname';port_ld': 'reason'. Unable to connect to the specified server and port. Troubleshooting o Try to address the reason provided for the connection failure. o Try to access the application with a browser from the injector machine and from another machine (such as the recording machine). o Check that you accurately specified the correct host name and port. o Ping the host/port. o Check if the server application you are trying to access is running. o If you used a hostname, check if it was resolved to the correct address. o Check if the server application is listening to the right port. |
成功的解决方法:
在负载生成器的注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters里,有如下两个键值:
TcpTimedWaitDelay
MaxUserPort
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
反复验证,问题解决。【我怎么试了好几种方法都失败啊。】
----------------------------------------------------connection time out---------------
Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out的解决办法:
解决办法一是:
(1)1. 修改run time setting中的请求超时时间Preferences 中点击Options 其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为1000、1000、10000;run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数;
2. Browser Emulation 中的Download non-HTML resources 选项去掉,点击OK即可
(2)办法(一)不能解决的情况下,解决办法如下:
设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。
来源:oschina
链接:https://my.oschina.net/u/4362330/blog/4872112