loadrunner场景中的常见错误及解决方法

1  Missing newline in xxxx.dat 

解决方法:

该xxxx.dat文件,最后一个参数后没有加回车。这样,在Virtual User Genertator里面能读出最后一个参数,查看列表也正确,但是在Cotroller工具里却无法识别最后一个参数,所以报错。

2  Error-26612:HTTP Status-Code=500(Internal Server Error) 错误 

造成HTTP-500错误,有如下几个可能:

1.运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500错误。减小用户数或者场景持续时间,问题得到解决。

2.该做关联的地方没有去做关联,则报HTTP500错误。进行手工或者自动关联,问题得到解决。

3.录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若该页面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,尽管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。

4.参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际应用系统中进行测试,可排除问题。

5.更换了应用服务器(中间件的更换,如tomcat、websphere、jboss等),还是利用原先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,所录制的脚本也不一样,解决办法只有重新录制脚本。

6.Windows xp2 与ISS组件不兼容,则有可能导致HTTP500错误。对ISS组件进行调整后问题解决。

7.系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,有空指针情况的存在。修改程序后问题解决。

查找后台日志发现报了很多0ra-01000错误,这是oracle达到最大游标参数值,google了下,最大原因可能是JDBC连接没关闭。最后查找weblogic连接池出了问题,很多连接没关闭。

扫描二维码关注公众号,回复: 5697197 查看本文章

3  Error-27791:Server“192.168.0.84”has shut down the connection prematurely 

解决方案如下:
  1.应用服务器死掉。小用户时程序上的问题,程序上处理数据库的问题。
  2.应用服务没有死,应用服务参数设置问题。例如:在许多客户端weblogic(属于linux系统)应用服务器被拒绝,而在服务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%。

IIS修改配置文件C:\WINDOWS\system32\inetsrv\MetaBase.xml里MaxProcesses和connectionTimeout(可能)

Tomcatserver.xml中的maxThreadsconnectionTimeout参数进行配置。
  3.数据库的连接
  在应用服务的性能参数可能太小了,数据库启动的最大连接数(跟硬件的内存有关)。

Oracle修改:

select count(*) from v$process --当前的连接数(需要登录sysdba,sys,system,对应相应数据库进行修改

select value from v$parameter where name = 'processes' --数据库允许的最大连接数

修改最大连接数: alter system set processes = 600 scope = spfile

MySQL修改:

进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可
  4.有时关闭卡巴斯基也会解决如上问题。

分析方法:
  1)观察response time是否超出默认的120秒
  2)检查服务器日志是否有异常以及负载是否过高
  3)web_set_timeout 设置更长的超时上限
  如
  web.set_timeout(“CONNECT”, “360”);
  web.set_timeout(“RECEIVE”, “360”);
  web.set_timeout(“STEP”, “360”))观察response time 是否超出默认的120秒这个问题,要详细分析了。

把时间调长,就是为了定位问题在什么地方,而不是为了绕过这个错误的出现。

4  Error-27728:Step download timeout (120 seconds) has expired when downloading non-resource(s)错误

错误分析:

对于HTTP协议,默认的超时时间是120秒,客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。

解决方法:

1.在脚本编辑器,修改Run-time Settings中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receive timeout,Step download timeout,分别建议修改为600、600、5000;还需要在control组件的Run-time setting中设置相应的参数;修改地址在:Run-time Settings--Internet Protocol--Preferences--Options中。

2.如果办法一不能解决的情况下,解决办法如下:

设置Run-Time Settings--Internet Protocol—Preferences--Advanced区域下勾选Winlnet replay instead of Sockets,选项后再回放就成功了。切记此法只对windows系统起作用。

5  Error -27979:Requested form not found

错误分析:

所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用"HTML-based script"模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用"URL-based script"模式进行录制。

解决办法:

1.在"Recording Options"的"Internet Protocol"选项里的"Recording"中选择"Recording Level"为"HTML-based script",单击"HTML Advanced",选择"Script Type"为"A script containing explicit"。然后再选择使用"URL-based script"模式来录制脚本(遇到HTML方式回放报错和导致脚本运行停止情况,改成URL录制方式,一般都可以解决)。

2.确认Run-time Settings->Browser Emulation->Simulate a new user each iteration是关闭的。

6  Error -27796:Failed to connect to server

解决方法:

一般是客户端连接到服务失败,原因有两个:一个是客户端连接限制(也就是压力负载机器),一个是网络延迟严重,解决方法:

1.修改负载机器注册表中的TcpTimedWaitDelay减少延时(越低释放时间就快,改为5s)和MaxUserPort增加端口数。注:会增加机器的负荷。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

2.检查网络延迟情况,查看问题出在什么环节(确保客户端和服务器网络连接正常;检查网络环境是否支持运行用户数)。

建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小。

实际情况解决情况(环境:oracle9i+jboss4.2+win2003;详细问题:Error -27796: Failed to connect to server "192.168.0.121:80": [10065] No Route to Host):

1.数据库连接数和游标数量配置。

2.应用服务器连接池配置。

3.应用服务器并发连接数及排队等侯数量配置。

4.操作系统的半连接数配置。

7  Error -27492:“HttpSendRequest”failed,Windows error code=12002 and retry limit(0) exceeded for URL=“” 

解决方法:

1.Timeout时间调整(Tools-Timeout和Preferences-Options(主要HTTP-request connect timeout))。

2.确定Run-Time Settings--Internet Protocol—Preferences--Advanced区域下未勾

选Winlnet replay instead of Sockets。

3.关闭被测机器上的杀毒软件和自带防火墙等。

8  Error -27727:Step download timeout(120 seconds)has expired when downloading resource(s).Set the“Resource Page Timeout is a Warning”Run-Time Setting to Yes/No to have this message as a warning/error,respectively 

解决方法:

1.Run-Time Settings--Internet Protocol—Preferences--Options--Step download timeout(sec)改为32000。

2.取消选中Run-time Settings--Browser Emulation--Download non-HTML resources。

3.应用服务参数设置太大导致服务器的瓶颈。
  4.页面中图片太多。
  4.在程序处理表的时候检查字段太大或太多。

9  Error -27498: Timed out while processing URL=http://192.168.0.84/workflow/ - bjtel/leasedline/querystat/subOrderQuery.do

错误分析:

这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。

如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。

解决办法:

例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。

如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。

最后,在Run-Time Settings—Internet Protocol—Preferences--Options,增加HTTP-request connect timeout或者HTTP-request receive timeout的值。

10 Error -27995:Requested link ("Text=计划管理") not found  [MsgId: MERR-27995] 

    解决方法:

    点击 Tools--Recording Options--Recording, 再点击 HTML Advanced 按钮,把 Script type从默认的第一个改为第二个,然后重新录制脚本问题即可得到解决。

11 Error -27279:Internal Error (CALL CUSTOMER SERVICES):Report initialization failed,error code=-2147467259 [MsgId:MERR-27279]  

    解决方法:

    建议重装一下LoadRunner,这种问题有可能和你安装有关dll文件出错导致。

12 Error -10489:Exception was raised when calling per-thread-terminate function  

    解决方法:

1.在C盘(或是其它盘均可以)新建TEMP文件夹(为了后续设置临时文件准备)
    2.右键"我的电脑"->高级->环境变量->编辑修改TEMP变量目录,指上面新建的目录,如我的指向C:\TEMP->保存即可。

13 Error -27740:Overlapped transmission of request to "www.zcpx.cn" for URL "http://www.zcpx.cn/userEntry.do" failed: WSA_IO_PENDING 

解决办法:

在脚本的最前面加上web_set_sockets_option("OVERLAPPED_SEND","0");默认多线程处理,关闭后,按顺序执行,不会出现多线程,先查看多线程是否有错?(用与不用对实际是否有差异);另一个方法可增加服务连接数(jboss\iis\weblogic)。

14 Error -26374: the above "not found" error(s) may be explained by header and body byte counts being 0 and 0,respectively

         参考方法:

  1. web_reg_save_param注册的位置必须正确,放在返回信息前使用。
  2. 自动关联的参数化数据还原回去(不使用关联)。
  3. 注释掉一些报错的检查点(不影响结果情况下)。
  4. 因超时未返回页面信息导致出错。

15 Error -26366:“Text=文字” not found for web_reg_find 错误

         参考方法:

  1. Error -26374错误导致,未返回界面导致检查出错。
  2. 检查点设置错误,调试是否设置问题?

16 Error -26377: No match found for the requested parameter "JSESSIONID2". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size

现在的问题是脚本没有问题,总共实行了22,028次,关于26377的错误只出现两次。

分析:

通常不是长度的问题,如果长度有问题就都出错了。应该是服务器返回的数据问题,导致没有找到这个参数。

26377错误的成因很多,总结最直接的结果就是No match found for the requested parameter "XXXXX"。意思就是没有找到关联变量匹配的值,实际上是没有从返回报文中得到匹配的边界结果。

可能的原因

1.脚本错误,确实没有匹配上的值22,028次中出现2次,或许可以排除(但也不能完全排除)是脚本的错误。需要仔细看日志分析到此返回的结果是什么)。

2.参数列表错误,实际上还是造成了脚本运行错误,没有返回正确的页面和结果(可能根本就没有正常到达你设想的页面,由于特殊原因跳转到某个地方去了)。

3.服务器超载,没有在规定时间内返回正确的网页报文,当然就找不到数据了。(注意不要对同一条目重复进行查询、更新等复杂造作)。

4.web_set_max_html_param_len 过小,没有足够的空间储存返回的报文,也就是,你要的信息在某个地方因为存储空间不足被截断了。设置更大的值可能会解决问题。

17 Error -26631: HTTP Status-Code=400 (Bad Request) for "http://www.tianqi123 - .com/small_page/chengshi_371.html?c0=000000&c1=000000&bg=fef9d9&w=250&h=40&text=yes"[issued at Action.c(243)]

         分析:

         可用httpwatch监控操作过程,查看源码和request是否成功。

         可能原因:

  1. request header过大。
  2. DNS配置错误。
  3. Bad Cookies。
  4. Request中存在不可用的字符。
  5. 表死锁。
  6. 页面不存在,可直接复制网址查看。

说明:400 请求出错
由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。

18 Error -27792: Failed to transmit data to network: [10054] Connection reset by peer

参考方法:

  1. Tcp连接数限制导致,默认10,修改为150或250。(使用工具tcpipsp3_md.zip
  2. 服务器问题:服务器应用配置和应用连接池数目等。
  3. 关闭杀毒软件等。
  4. 在脚本最前面插入web_set_sockets_option("OVERLAPPED_SEND", "0");

19 Error -26628:HTTP Status-Code=403 (Access Forbidden) for “网址”

  在Vuser脚本编译执行无误情况下,在controller中进行并发测试,并发数设为10,只通过5个,失败的报错信息是:Action.c(15): Error -26628: HTTP Status-Code=403 (Access Forbidden) for "http://10.120.20.59/tjpm/"

  解决方案如下:

分析原因可能是因为被测WEB服务器用的是XP系统,本身有最大连接数的限制,就使用软件MtaEdt22.exe修改IIS最大连接数为1000,修改后重启再进行并发操作。

打开后在最左边选择LM\W3SVC
  然后在右边那一堆东西中找到MaxConnections(最大连接)
  data那就是你的最大连接数了,自己改吧
  最大限制是2000000000
  另外你改为-1就是不限制了

猜你喜欢

转载自blog.csdn.net/king0964/article/details/87912166