您的位置:首页 > 大数据 > 人工智能

loadrunner error提示: Action.c(15): Error -27796: Failed to connect to server "10.9.34.101:80":

2013-07-22 14:11 459 查看
load runner transaction 提示error:

Action.c(15): Error -27796: Failed to connect to server "ip": [10061] Connection refused

问题:

曾经遇到过一个问题,在一次性能测试过程中,使用http协议的多用户向服务器发送请求。设置了持续时间,出现错误为:27796, Failed to connect to server 'hostname';port_ld': 'reason'.10048.

分析

因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。

官方的troubleshooting:
查看工具的troubleshooting,如下:

[align=left]Message Code 27796 [/align]
[align=left]Failed to connect to server 'hostname';port_ld': 'reason'.[/align]
[align=left]Unable to connect to the specified server and port.[/align]
[align=left]Troubleshooting [/align]
[align=left]o Try to address the reason provided for the connection failure.[/align]
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.
[align=left]o Ping the host/port.[/align]
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调大(如果这个值不是最大值的话)。

注:修改完注册表要重启电脑

1. 修改压力机注册

尝试修改注册表中

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:

TcpTimedWaitDelay --- 1

MaxUserPort ---- 65534

端口等待时间调小,最大可用端口调大

二. 在nginx 和 tomcat所在服务器上查看连接数是不是已满, 输入

netstat -an | grep TIME_WAIT -wc 发现大约有19000个
看来确实有很多time_wait的连接啊!
1. 检查 /ext/sysctl.conf ,是不是有
net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1
这两项配置,发现已经配置了
2. 修改loadrunner的配置
分别修改VUGEN和 control 二者的run time setting中的请求超时时间Preferences 中点击Options 其中有三项的参数可以一次都修改了,
HTTP-request connect timeout 建议修改为1000
HTTP-request receieve timeout 建议修改为1000
Step download timeout 建议修改为10000
Http Keep Alive time out 建议修改800
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐