LoadRunner常遇见报错问题解决方案.docx

上传人:b****4 文档编号:3929144 上传时间:2022-11-26 格式:DOCX 页数:14 大小:28.50KB
下载 相关 举报
LoadRunner常遇见报错问题解决方案.docx_第1页
第1页 / 共14页
LoadRunner常遇见报错问题解决方案.docx_第2页
第2页 / 共14页
LoadRunner常遇见报错问题解决方案.docx_第3页
第3页 / 共14页
LoadRunner常遇见报错问题解决方案.docx_第4页
第4页 / 共14页
LoadRunner常遇见报错问题解决方案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

LoadRunner常遇见报错问题解决方案.docx

《LoadRunner常遇见报错问题解决方案.docx》由会员分享,可在线阅读,更多相关《LoadRunner常遇见报错问题解决方案.docx(14页珍藏版)》请在冰豆网上搜索。

LoadRunner常遇见报错问题解决方案.docx

LoadRunner常遇见报错问题解决方案

LoadRunner常遇见的问题

在压力测试过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。

下面结合常用的协议(如Web、WebServices协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。

  需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。

  1.LoadRunner超时错误:

在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。

  错误现象1:

Action.c(16):

Error-27728:

Stepdownloadtimeout(120seconds)hasexpiredwhendownloadingnon-resource(s)。

  错误分析:

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

  解决办法:

首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“RuntimeSetting”>“InternetProtocol:

Preferences”>“Advanced”区域中设置一个“winlnetreplayinsteadofsockets”选项,再回放是否成功。

  2.LoadRunner脚本中出现乱码:

在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。

  错误现象:

某个链接或者图片名称为中文乱码,脚本运行无法通过。

  错误分析:

脚本录制可能采用的是URL-basedscript方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。

  解决办法:

重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“RecordingOptions”的“Advanced”选项里先将“SurportCharset”选中,然后选中支持“UTF-8”的选项。

  3.LoadRunnerHTTP服务器状态代码:

在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。

  错误现象1:

-404NotFound服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。

  错误分析:

此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。

  解决办法:

在出现错误的位置进行脚本关联,在必要时插入相应的函数。

  错误现象2:

-500InternalServerError服务器内部错误,脚本运行停止。

  错误分析:

服务器碰到了意外情况,使其无法继续回应请求。

  解决办法:

出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。

  4.LoadRunner请求无法找到:

在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。

  错误现象:

Action.c(41):

Error-27979:

Requestedform.notfound[MsgId:

MERR-27979]

  Action.c(41):

web_submit_form.highestseveritylevelwas"ERROR",0bodybytes,0headerbytes[MsgId:

MMSG-27178]"

  这时在treeview中看不到此组件的相关URL。

  错误分析:

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

  解决办法:

打开录制选项配置对话框进行设置,在“RecordingOptions”的“InternetProtocol”选项里的“Recording”中选择“RecordingLevel”为“HTML-basedscript”,单击“HTMLAdvanced”,选择“Script.Type”为“Ascript.containingexplicit”。

然后再选择使用“URL-basedscript”模式来录制脚本。

 5.Abnormaltermination,causedbymdrvprocesstermination

  解决:

  大胆尝试了修改了LR中的D:

\ProgramFiles\Mercury\LoadRunner\dat\protocols中的http.lrp信息,在[Vugen]下面新加一条MaxThreadPerProcess=要设置的vuser数量。

 常见loadrunner问题集锦

1LoadRunner录制脚本时为什么不弹出IE浏览器?

答:

启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题;

2LoadRunner录制脚本时提示默认浏览器不支持解决方法?

答:

在RecordingOptions->Browser->修改浏览器设置->改为IE浏览器访问,重新启动LoadRunner录制脚本就ok;

3录制Web脚本时,生成的脚本中存在乱码该如何解决?

答:

录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Supportcharset”,选择支持UTF-8。

重新录制,就不会出现中文乱码问题了。

4HTML-basedscript与URL-basedscript的脚本有什么区别?

答:

使用“HTML-basedscript”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-basedscript”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。

通常,基于浏览器的Web应用会使用“HTML-basedscript”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-basedscript”模式进行录制。

5为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行?

答:

LoadRunner默认关闭了对文本及图像的检查。

进入“Run-timeSetting”对话框,依次进入“InternetProtocol→Preferences”,勾选Checks下的“EnableImageandtextcheck”选项即可。

备注:

推荐web_reg_find函数针对文本及图像的检查。

6运行时的Pacing设置主要影响什么?

答:

Pacing主要用来设置重复迭代脚本的间隔时间。

共有三种方法:

上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。

根据实际需要设置迭代即可。

通常,没有时间间隔会产生更大的压力。

7运行时设置Log标签中,如果没有勾选“Enablelogging”,则手工消息可以发送吗?

答:

Enablelogging选项仅影响自动日志记录和通过lr_log_message发送的消息。

即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。

8 LoadRunner如何在IE7+Win2003环境下录制脚本?

答:

方法一:

巧借IE6内核录制脚本

在系统安装目录下C:

\WINDOWS\ie7\iexplore.exe,然后在RecordingOptions->Browser,指定Ie6内核;设置完成确认后,即可以用LoadRunner录制脚本;

方法二查看了下官方提供LoadRunner解决方法:

安装LoadRunner8.1FeaturePack4->然后安装:

InternetExplorer7(IE7)supportforLoadRunner8.1FeaturePack4;

9 LoadRunner8.0版本的VuGen在录制WebServices协议的脚本时一切正常,但回放时报错误“Error:

serverreturnedanincorrectlyformattedSOAPresponse”。

答:

原因是LoadRunner8.0的VuGen在录制WebService协议的脚本时存在一个缺陷:

如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为

xmlversion=”1.0”encoding=”zh_cn”?

>,因此会有上面的错误提示。

所以需要打上补丁:

“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”。

10VuGen支持Netscape的客户证书吗?

答:

不支持。

目前的VuGen8.0版本中仅支持InternetExplorer的客户端证书。

录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到InternetExplorer中,并确保以相同的顺序导出和导入这些证书。

而且,在每台将要录制或运行需要证书的WebVuser脚本的计算机上都要重复执行前面的过程。

11LoadRunner场景执行时第1次报错error:

missingnewlineind:

\test\test1.dat,第2次场景执行时不报错?

答:

Loadruner参数设置test1.dat文本时,需要在最后一个参数后回车确认一下。

12 LoadRunner场景执行时出现错误:

“loadgeneratoriscurrentlyrunningthemaximumnumberofvuserofthistype”

答:

Loadruuner默认场景并发最大用户数=1000,所以需要设置loadgenerator->Details->Vuserlimits->OtherVusers更换参数值即可,如10000;当然需要你的序列号是支持,目前最大支持6.2w的序列号,强憾吧!

13VuGen会修改录制浏览器中的代理服务器设置吗?

答:

会修改。

在开始录制基于浏览器的WebVuser脚本时,VuGen首先会启动指定的浏览器。

然后,VuGen会指示浏览器访问VuGen代理服务器。

为此,VuGen会修改录制浏览器上的代理服务器设置。

默认情况下,VuGen会立即将代理服务器设置更改为Localhost:

7777。

录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。

因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。

14在LoadRunner脚本如何输出当前系统时间?

答:

LoadRunner提供了char*ctime(consttime_t*time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。

15 Loadruner在一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。

从第二次迭代开始发生错误?

答:

“Run-timeSetting”的“BrowseEmulation”的设置中,勾选了“Simulateanewuseroneachiteration”及其下面的选项“Clearcacheoneachiteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。

16LoadRunner中“Run-timeSetting”中的线程和进程运行方式的区别?

答:

如果选择“RunVuserasaprocess”,则场景运行时会为每一个虚拟用户创建一个进程;选择“RunVuserasathread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。

  另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“ExpertMode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。

17在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?

答:

这主要有脚本的默认超时设置引起。

当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。

这时需要修改脚本的运行时配置。

  进入“Run-timeSetting”对话框后,依次进入“InternetProtocol→Preference”。

然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。

18为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去?

答:

在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。

要想突破Windows这个限制,须修改Windows注册表。

以WindowsXPProfessional为例。

  

(1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:

System\CurrentControlSet\Control\SessionManager\SubSystems。

  

(2)找到Windows关键字,Windows关键字如下所示:

  %SystemRoot%\system32\csrss.exebjectDirectory=\Windows

  SharedSection=1024,3072,512Windows=OnSubSystemType=WindowsServerDll=basesrv,1

  ServerDll=winsrv:

UserServerDllInitialization,3ServerDll=winsrv:

ConServerDllInitialization,2

  ProfileControl=OffMaxRequestThreads=16

  SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。

其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。

  (3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。

  通过对注册表的更改,系统将允许运行更多的线程,因而可以在计算机上运行更多的Vuser。

这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的约束。

19.Controller中设置了用户并发数量,但是运行时为何初始化的用户数量少于实际数量?

答:

主要时设置问题。

在Tools→options→Run-timesetting中可以设置每次最多初始化的虚拟用户。

如果需要100个并发用户,则将该值设置为大于100的数值。

另外,注意LoadRunner相关协议License的更新,确保使用的License能够允许所需要的并发用户数量。

20.如何让场景的用户执行发生错误继续运行,以保证不间断进行压力测试?

答:

用VuGen打开虚拟用户脚本后,进入“Run-timeSettings”对话框后,依次进入“General→Miscellaneous”,可以看到Miscellaneous设置中关于“ErrorHandling”的配置。

勾选“Continueonerror”即可让虚拟用户发生错误继续运行。

17.为什么.NET虚拟用户有时不能在远程主机执行?

答:

主要时LoadRunner的版本问题。

根据笔者的经验,如果是MicrosoftVisualStudio2005开发的虚拟用户,同时LoadRunner客户端的版本低于8.1,执行Controller的主机将会发生错误。

  因此要想正确的运行MicrosoftVisualStudio2005开发的.NET虚拟用户,客户端最好装8.1以上的版本,Controller的主机则安装8.0和8.1两个版本均可。

此外,产生压力的LoadRunner客户端上预先应该安装.NET运行环境,如果MicrosoftVisualStudio2005开发的是.NET虚拟用户,则应该安装Microsoft.NETFrameworkSDKv2.0。

18.测试分析结果中会统计Action时间,而实际上可能并不须要这些数据,如何只显示自己定义的用户事务?

答:

进入脚本的运行时设置,依次进入General→Miscellaneous。

默认情况下,自动事务配置“AutomaticTransactions”下有两个选项:

第一个是把脚本的Action部分定义为一个事务;第二个时把脚本的每一部分定义为一个事务。

去掉这两个勾选后,测试结果将会只显示自己定义的用户事务。

19.测试结果中,Summary和平均事务响应时间图里的各个事务的最大值、平均值、最小值为什么显示不一样?

答:

主要是受采样时间的影响。

Summary里的事务平均响应时间是根据整个场景执行过程得到的数据计算所得,最大值与最小值也是从整个场景中得到的。

平均事务响应时间图主要时按照LoadRunner分析出来的采样频率来获取事务响应时间的最大值与最小值,然后计算平均值。

  可以通过“SetGranularity”来修改平均事务响应时间图的采样频率。

如果把“Granularity”设为场景执行时间,则统计结果将会一致。

20.统计结果中的总点击量TotalHits时用户的鼠标点击次数吗?

答:

TotalHits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起的总的请求数来进行统计的。

例如在向服务器请求的一个页面中,如果该页面包含5个图片,用户只要单击鼠标就可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6次。

21.有些Web测试结果分析图(例如每秒返回页面数)在测试结果分析图中无法看到,如何进行配置?

  用VuGen打开虚拟用户脚本后,进入“Run-timeSettings”对话框后,依次进入“InternetProtocol>Preference”,可以看到一些Web性能图配置。

  勾选上面得选项后,Controller将会在测试执行过程中生成数据,然后可在Analysis中查看相应的性能结果分析图。

、Stepdownloadtimeout(120seconds)

  这是一个经常会遇到的问题,解决得办法走以下步骤:

  1、修改runtimesetting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-requestconnecttimeout,HTTP-requestreceievetimeout,Stepdownloadtimeout,分别建议修改为600、600、5000;runtimesetting设置完了后记住还需要在control组件的option的runtimesetting中设置相应的参数;

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

  设置runttimesetting中的internetprotocol-preferences中的advaced区域有一个winlnetreplayinsteadofsockets选项,选项后再回放就成功了。

切记此法只对windows系统起作用,此法来自zee的资料。

22问题描述Connectionresetbypeer

  这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。

  解决办法:

Run-timesetting窗口中的‘InternetProtocol’-‘Preferences’设置setadvancedoptions(设置高级选项),重新设置一下“HTTP-requestconnecttimeout(sec),可以稍微设大一些”;

23问题描述connectionrefused

  这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同;

  1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*StatementCacheSize)的值应该小于等于oracle数据库连接数最大值;

  2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数,还有tcp连接等待时间间隔大小,wiodows类似,只不过wendows修改注册表,具体修改方法查手册,注册表中有TcpDelayTime项;

 

24、问题描述openmanyfiles

  问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:

  1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改;

  2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大;修改前记住备份此文件,防止修改出错;

25、问题描述hasshutdowntheconnectionprematurely

  一般是在访问应用服务器时出现,大用户量和小用户量均会出现;

  来自网上的解释:

  1>应用访问死掉

  小用户时:

程序上的问题。

程序上存在数据库的问题

  2>应用服务没有死

  应用服务参数设置问题

  例如:

  在许多客户端连接W

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1