Loadrunner错误代码27740_27995_27796学习笔记_SariyaLee

来源:互联网 发布:现在淘宝什么最赚钱 编辑:程序博客网 时间:2024/04/25 14:30

Loadrunner错误代码27740_27995_27796学习笔记_SariyaLee

http://wenku.baidu.com/link?url=OyA_ckkPgXMuwWWBRVkYz0g_Ttop55tXeeLlrKhSA6wOCsHOHxVnebAtXxJ7IOokUwVoVX4v50idGmN5Z1ZlufRtA0op0Gpxly40YaTkyiq


Loadrunner错误代码27740、27995、27796学习笔记 ............................................................... 1 问题一:27740 ................................................................................................................................. 2 
1. 问题描述 ........................................................................................................................... 2 2. 解决方法 ........................................................................................................................... 2 3. 解析原因 ........................................................................................................................... 2 
1) IO overlapped ..................................................................................................... 2 2) IO completion port ........................................................................................... 3 
问题二:27995 ................................................................................................................................. 4 
1. 问题描述 ........................................................................................................................... 4 2. 解决方法 ........................................................................................................................... 4 问题三:27796 ................................................................................................................................. 4 
1. 问题描述 ........................................................................................................................... 4 2. 解决办法1 ........................................................................................................................ 4 
1) 设置tomcat的server.xml文件 ............................................................................... 4 2) 设置run time setting中的reference中的option中的请求超时时间 ................... 4 3. 解决办法2 ........................................................................................................................ 5  








       var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);    














问题一:27740(转载自zee博客) 1. 问题描述 
使用Loadrunner进行性能测试过程中报错代码:27740:WSA_IO_PENDING 官方troubleshooting如下: 
Message Code 27740 
Overlapped transmission of request to '%1' for URL 'URL' failed.  
The transmission of data to the server failed. It could be a network, router, or server problem. The word Overlapped refers to the way LoadRunner sends data in order to get a Web Page Breakdown.  Troubleshooting  
Add the following statement to the beginning of the script to disable the breakdown of the "First Buffer" into server and network time: web_set_sockets_option("OVERLAPPED_SEND", "0"); 
2. 解决方法 
添加:web_set_sockets_option("OVERLAPPED_SEND", "0")语句。  
3. 解析原因 
IO Overlapped是一种异步IO,在socket层,只有少量数据发送的时候,只要create new 
thread,send, receive,就可以了。但是,当数据量增加的时候,要考虑资源的充分利用,也要避免资源的拥塞队列,如果创建线程过多,和CPU内存磁盘等资源的交互过多,可能导致拥塞出现。在这时就要考虑资源的拥塞问题了,在socket中有两种处理的方式: 
1) IO overlapped 
工作方式是这样的: 
A:调用WSARecv, WSARecvFrom, WSASend, WSASendTo, 或 WSAIoctl.等函数,传入overlapped参数,表示这个函数要执行这个动作; B:调用WSAGetOverlappedResult函数来取数据; 
C:再执行A,调用另一个带有overlapped的参数另一个线程交替处理。  








 var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);














这种方式,可以处理一定量的数据。但是在大数据量的时候,这种处理方式显示出了先天的不足。因为使用这种方式会创建新的线程,这样势必增加系统的开销。当出现成千上万的线程时,系统的开销已经相当大了,因为要频繁的在上下文之间切换。所以在socket编程里,这种方式,处理线程数不是很大的情况下是比较有优势的。   
2) IO completion port 
在winsock2中引入了异步IO的API:IOCP。其实这里也是overlapped的理念。但有不同,如下描述: 
这种异步IO的工作方式是:先开一些线程,处在hold的状态下,应用线程和completion port关联起来,当某个线程要处理数据时,就与completion port进行通信,这样就可以进行socket操作了,这种处理方式就是在刚开始的时候,消耗一些资源开线程,处理大数据量的socket通信,如图: 
 
这样一来completion port就可以处理threads和IO Device之间的交互了。 打个比方来说: 
有很多人早上都去坐地铁,但是,如果不限制人往站台走的速度,售票口就要增加很多个才能处理乘客的请求,这样成本就会增加很多,并且站台上最后会挤满了人,最后导致危机出现;而现在,在进入地铁的时候,加上有序的限流措施,这样一来售票口不用增加,也可以处理乘客的请求,站台上就不会有那么大的压力。 
在我的理解中,completion port就有着这么一个功能。在处理大数据量的时候,它起着维持秩序的作用。   
以上为socket在处理数据量较大时的两种方式。 
而在性能测试中,如果开的线程过多,可能某些资源不足导致不停的上下文切换,就会有thread得不到资源,从而出现pending。 
如果我们关闭了overlapped,就会同步执行。这时如果CPU速度够快(同时其他资源是足够用的),是可以处理所有请求,并且不会出现pending的。但是,如果thread开的越来越多,也可能导致CPU处理不了,从而出现CPU频繁的上下文切换,或者队列增长。最后出错。这时,我们可以针对性的来提出解决方案了。 








下载文档到电脑,查找使用更方便
0下载券  167人已下载




下载








还剩2页未读,继续阅读






















问题二:27995 1. 问题描述 
Action.c(56): Error -27995: Requested link ("Text=计划管理") not found  [MsgId: MERR-27995]  
2. 解决方法 
设置recording option -》recording-》HTML Advanced-》script type 选择下面的,即 a script containingexplicit urls only   
问题三:27796 1. 问题描述 
Action.c(6): Continuing after Error -27796: Failed to connect to server "127.0.0.1": [10060] Connection timed out  
2. 解决办法1 
1) 设置tomcat的server.xml文件 
<Connector port="8082" protocol="HTTP/1.1"  connectionTimeout="120000"  maxThreads="300"  acceptCount="300"  ennableLookups="false" 
redirectPort="8444"  URIEncoding="UTF-8"/> 
 
2) 设置run time setting中的reference中的option中的请求超时时间 
其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别修改为6000、600、50000。run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数均设置为999(最大值)。  


















3. 解决办法2 
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值: TcpTimedWaitDelay MaxUserPort 
A.这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。 
B.也可以把MaxUserPort调大(如果这个值不是最大值的话)
0 0