原错误信息:

Action.c(58): Error -27796: Failed to connect to server "10.1.44.68:7013": [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

根据以上错误信息以此对HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\下的

TcpTimedWaitDelay,MaxUserPort。tcp端口释放的时间和tcp端口的数量进行更改;

附Windows系统下的TCP参数优化(注册表\TCPIP\Parameters):https://blog.csdn.net/libaineu2004/article/details/49054261

修改完后重启机器再次压测只报原Error -27796TcpTimedWaitDelay 错误信息,一下是我解决问题时分析的过程:

1.在此压测出现Error -27796错误之前, lr tps,art等资源都是稳定状态;报TcpTimedWaitDelay错误信息时,tps曲线直接下跌到底。使用netstat -ano > d:\port.text查看一下,基本都是time_wait状态,这个错误以前运到过,当时由于给予解决问题,便记录了这样解决的过程:https://www.cnblogs.com/Alexr/p/9362059.html

分析:根据网上度娘方法,TcpTimedWaitDelay表示系统释放已关闭的TCP连接必须等待的时间,换句话说系统内有大量连接处于TIME_WAIT状态,则会导致并发量与吞吐量的严重下降缩小该项值,可以更快地释放已关闭的连接,难道是客户端性能太好,发压的速率太快导致把tcp/ip的连接或端口占满。不应该呀!在网上查了一下,win7系统最大设置fffe65534tcp/ip,也有设置fff的;  tpc端口数按理说已经是设置的最大了包括tcp的关闭时间也设置了最小,这大量的TIME_WAIT到底是怎么导致的,百思不得其解?

2.最后解决的方法是:在 Run-time Setting/Browser Emulation中将Simulate a new user on each iteration  选项去掉(默认是选中的)。重新运行一切正常,没有错误出现。

该项值表示默认Controller在调用VUG脚本时,每次迭代模拟一个新的用户,首先清空浏览器中的缓存,在重新获取前端层的信息;去掉这个选项的意思是,始终使用一个tcp/ip链接,不断开,也就是开发人员所说的长链接或持久连接。

短连接:建立连接-----发送和接收报文1-------关闭连接;

长连接:建立连接-----发送和接收报文1.。。。2.。。。3-----关闭连接 ;

3.选r中Run-time Setting/internet Protocol/Winlnet replay instead of sockets(Windows only)替换上面的方式,也是可以解决掉此类问题;

这个项值表示回放脚本通过sockets端口方式进行, 庆幸的是我们程序支持sockets方式,建议需要通过sockets方式回放时,在选择这项值。

4.使用wireshark工具通过对lr通信信息进行抓取,在监测通讯过程中发现,问题出现在第二次握手,客户端已经发出syn包,但服务器端没有接受到syn包,当TIME_WAIT1s秒钟后再次发出syn包,服务器端可以接收到此包,问题出现了,就是说这个请求在没有建立连接时就出现错误了,神奇了。

静下心了慢慢分析了一下客户端与服务器端建立的过程:

1.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers);

2.第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

3.第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据;

附tcp/ip三次握手连接及seq和ack号的正确理解:http://blog.sina.com.cn/s/blog_735e97540101ir8h.html

分析:抓取这样的结果,我的tcp端口还没有使用满的前提下,报Error -27796,根据网上排查的思路,一般是脚本的问题。我使用lr最多也是web(html/http),一般走http接口时,我会把Mode=HTML改HTTP,一些get请求有时候就没有RecContentType=text/html不去指定返回的内容,要么空或者要么没有要么删掉,都是可以执行成功的。根据度娘的解答如果缺少RecContentType=text/html返回类型的话,会造成服务器无法识别;

LR报:Error 27796 Failed to connect to server的更多相关文章

  1. loadrunner error 27796 Failed to connect to server

    (2012-10-23 01:23:17) 转载▼   Action.c(58): Error -27796: Failed to connect to server "www.baidu. ...

  2. Action.c(28): Error -27796: Failed to connect to server "xxxx": [10060] Connection timed out

    Error -27796: Failed to connect to server "125.93.51.230:8080": [10061] Connection refused ...

  3. 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法

      场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...

  4. loadrunner:Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "192.168.66.3:8080": [10060] Connec ...

  5. Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out

    如果出现Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out 这样的错误,如 ...

  6. [转载]Error -27796: Failed to connect to server

      原文地址:Error -27796: Failed to connect to server "test.shunde.gov.cn:80"作者:蓝小C 问题描述: 使用Loa ...

  7. loadrunner:Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Conne ...

  8. Action.c(58): Error -27796: Failed to connect to server "hostname"

    分析: 因为负载生成器的性能太好发数据特别快,服务器响应也特别快,从而导致负载生成器的端口在没有timeout之前就全部占满了. 解决方案一:   在负载生成器的注册表HKEY_LOCAL_MACHI ...

  9. mongodb副本集出现的错误 mongodb error: { MongoNetworkError: failed to connect to server [127.0.0.1:1010] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:1010]

    replset = pictureWorks 执行:mongo --port 1008  (查看1008是否是住数据库) rs.status() 执行: onfig={"_id": ...

随机推荐

  1. php小程序生成二维码

    <?php getwxacode(); //生成二维码 function getwxacode(){ $url = "https://api.weixin.qq.com/wxa/get ...

  2. KNN-机器学习算法

    ''' Created on Sep 16, 2010 kNN: k Nearest Neighbors Input: inX: vector to compare to existing datas ...

  3. xcode中进行git代码管理

    http://www.cocoachina.com/ios/20140524/8536.html

  4. RubyGems 库发现了后门版本的网站开发工具 bootstrap-sass

    安全研究人员在官方的 RubyGems 库发现了后门版本的网站开发工具 bootstrap-sass.该工具的下载量高达 2800 万次,但这并不意味着下载的所有版本都存在后门,受影响的版本是 v3. ...

  5. linux各路径(目录)的解释

    目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点, 比如用户use ...

  6. AIX中的网络管理

    1.AIX中网络配置 AIX支持的适配器: #lsdev  -Cc   adapter   查看网络适配器: #lsdev  -Cc  if   修改网卡属性 #smitty    chgenet   ...

  7. 2019长安大学ACM校赛网络同步赛 J Binary Number(组合数学+贪心)

    链接:https://ac.nowcoder.com/acm/contest/897/J 来源:牛客网 Binary Number 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32 ...

  8. hdu 3549 网络流最大流 Ford-Fulkerson

    Ford-Fulkerson方法依赖于三种重要思想,这三个思想就是:残留网络,增广路径和割. Ford-Fulkerson方法是一种迭代的方法.开始时,对所有的u,v∈V有f(u,v)=0,即初始状态 ...

  9. GNU ARM汇编快速入门

    以前用ARM的IDE工具,使用的是ARM标准的汇编语言.现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处.其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看 ...

  10. Python中绘制箭头

    以两个点为例,其中起点为点(1,2),终点为点(3,4) import matplotlib.pyplot as plt def drawArrow(A,B): fig = plt.figure() ...