文档详情

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

发布:2017-04-12约3.48千字共5页下载文档
文本预览下载声明
Loadrunner 错误代码 27740、27995、27796 学习笔记 By SariyaLee 2013-1-22 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 问题一: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的参数另一个线程交替处理。 这种方式,可以处理一定量的数据。但是在大数据量的时候,这种处理方式显示出了先天的 不足。因为使用这种方式会创建新的线程,这样势必增加系统的开销。当出现成千上万的线 程时,系统的开销已经相当大了,因为要频繁的在上下文之间切换。所以在 socket编程里, 这种方式,处理线程数不是很大的情况下是比较有优势的。 2) IO completion port 在 winsock2中引入了异步 IO的 API:IOCP。其实这里也是 overlapped的理念。但有不同, 如下描述: 这种异步 IO的工作方式是:先开一些线程,处在hold的状态下,应用线程和 completion port 关联起来,当某个线程要处理数据时,就与 completion port进行通信,这样就可以进行 socket操作了,这种处理方式就是在刚开始的时候,消耗一些资源开线程,处理大数据量 的 socket通信,如图: 这样一来 completion port就可以处理 threads和 IO Device之间的交互了。 打个比方来说: 有很多人早上都去坐地铁,但是,如果不限制人往站台走的速度,售票口就要增加很多个才 能处理乘客的请求,这样成本就会增加很多,并且站台上最后会挤满了人,最后导致危机出 现;
显示全部
相似文档