原错误信息:

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. Android热修复、插件化、组件化

    模块化:项目按照独立的模块进行划分 组件化:将项目按照单一的组件来进行划分结构 项目组件化的重要环节在于,将项目按照模块来进行拆分,拆分成一个个业务module和其他支撑module(lib),各个业 ...

  2. 前端页面适配的rem换算 为什么要使用rem

    之前有些适配做法,是通过js动态计算viewport的缩放值(initial-scale). 例如以屏幕320像素为基准,设置1,那屏幕375像素就是375/320=1.18以此类推. 但直接这样强制 ...

  3. 使用了框架iframe的页面如何跳出框架

    "window.location.href"."location.href"是本页面跳转. "parent.location.href" 是 ...

  4. QtSpim使用Tips

    QtSpim使用记录 垃圾QtSpim,输入中文会死机 MIPS的中文资料奇缺,如果有问题建议google参考英文资料,许多外国大学的网站上有对MIPS各方面的详细介绍 QtSpim是MIPS处理器的 ...

  5. drop与truncate与delete的区别与联系

    在mysql和oracle数据库中delete与truncate都是可以用来对数据进行删除操作,但是二者又有些不同. 主要有以下几个区别: 区别一: 根据sql语言分类来说,delete属于DML语言 ...

  6. 使用油猴子 greasemonkey xx 百度 ...

    百度首页在登录以后很恶心 没事弹出点垃圾新闻来污染眼球 搜索结果右下角的今日排行榜也是没事就出现垃圾的东西 所以让我们也xx一下百度.. // ==UserScript== // @name 清理百度 ...

  7. linux开启Rsyslog服务收集日志

    一.查看是否安装了rsyslog服务 [root@server- ~]# yum install -y rsyslog 已加载插件:fastestmirror Loading mirror speed ...

  8. imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable

    错误: imagecreatefromstring(): Empty string or invalid image 或者 imagesx() expects parameter 1 to be re ...

  9. 【POJ3162】Walking Race 树形dp+单调队列+双指针

    题目大意:给定一棵 N 个节点的无根树,边有边权,现生成一个序列 d,d[i] 表示 i 号节点到树上其他节点距离的最大值.给定一个 m,求 d 序列中最大值和最小值之差不超过 m 的最长连续段的长度 ...

  10. SpringMVC 向前台页面传值-ModelAndView

    ModelAndView 该对象中包含了一个model属性和一个view属性 model:其实是一个ModelMap类型.其实ModelMap是一个LinkedHashMap的子类 view:包含了一 ...