LR常见问题整理汇总 1.docx
- 文档编号:5402696
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:13
- 大小:28.94KB
LR常见问题整理汇总 1.docx
《LR常见问题整理汇总 1.docx》由会员分享,可在线阅读,更多相关《LR常见问题整理汇总 1.docx(13页珍藏版)》请在冰豆网上搜索。
LR常见问题整理汇总1
1.LoadRunner录制脚本时为什么不弹出IE浏览器?
A.当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题
提示:
通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。
因此建议运行LoadRunner得主机上保持一个干净的测试环境。
B.点Vuser》Run-TimeSetting》Brower》BrowerVersion》Change==修改IE版本和WIN7
2.录制Web脚本时,生成的脚本中存在乱码该如何解决?
录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Supportcharset”,然后选择中支持UTF-8。
在IIS中找到Web.Config文件,在
3.HTML-basedscript与URL-basedscript的脚本有什么区别?
使用“HTML-basedscript”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-basedscript”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
通常,基于浏览器的Web应用会使用“HTML-basedscript”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的JavaApplet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-basedscript”模式进行录制。
4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行?
由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。
要想开启检查功能,必须修改运行时的配置Run-timeSetting。
进入“Run-timeSetting”对话框,依次进入“InternetProtocol→Preferences”,勾选Checks下的“EnableImageandtextcheck”选项即可。
检查执行结果时推荐使用web_reg_find方法。
5.运行时的Pacing设置主要影响什么?
Pacing主要用来设置重复迭代脚本的间隔时间。
共有三种方法:
上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。
根据实际需要设置迭代即可。
通常,没有时间间隔会产生更大的压力。
6.运行时设置Log标签中,如果没有勾选“Enablelogging”,则手工消息可以发送吗?
Enablelogging选项仅影响自动日志记录和通过lr_log_message发送的消息。
即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。
7.LoadRunner8.0版本的VuGen在录制WebServices协议的脚本时一切正常,而回放时报出错误提示“Error:
serverreturnedanincorrectlyformattedSOAPresponse”。
这时说明原因引起的?
造成这种情况的主要原因是LoadRunner8.0的VuGen在录制WebService协议的脚本时存在一个缺陷:
如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为,因此会有上面的错误提示。
解决方法:
把“LR80WebservicesFPI_setup.exe”和“lrunner_web_sevices_path_1.exe”两个补丁打上即可解决。
8.VuGen支持Netscape的客户证书吗?
不支持。
目前的VuGen8.0版本中仅支持InternetExplorer的客户端证书。
录制脚本时可以先从Netscape中导出所需的证书,然后将其导入到InternetExplorer中,并确保以相同的顺序导出和导入这些证书。
而且,在每台将要录制或运行需要证书的WebVuser脚本的计算机上都要重复执行前面的过程。
9.VuGen会修改录制浏览器中的代理服务器设置吗?
会修改。
在开始录制基于浏览器的WebVuser脚本时,VuGen首先会启动指定的浏览器。
然后,VuGen会指示浏览器访问VuGen代理服务器。
为此,VuGen会修改录制浏览器上的代理服务器设置。
默认情况下,VuGen会立即将代理服务器设置更改为Localhost:
7777。
录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。
因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。
10.在LoadRunner脚本如何输出当前系统时间?
LoadRunner提供了char*ctime(consttime_t*time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。
调用语句与返回值如下示例:
typedeflongtime_t;
Action()
{
time_tt;
lr_message(“Timeinsecondssince1/1/70:
%ld\n”,time(&t));
lr_message(“Systemtimeanddate:
%s”,ctime(&t));
}
输出结果为:
Timeinsecondssince1/1/70:
1185329968
Systemtimeanddate:
WedJul2510:
19:
282007
11.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。
为什么从第二次迭代开始发生错误?
这种现象多是由于在“Run-timeSetting”的“BrowseEmulation”的设置中,勾选了“Simulateanewuseroneachiteration”及其下面的选项“Clearcacheoneachiteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。
由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。
12.虚拟客户脚本“Run-timeSetting”中的线程和进程运行方式的区别?
如果选择“RunVuserasaprocess”,则场景运行时会为每一个虚拟用户创建一个进程;选择“RunVuserasathread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。
另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“ExpertMode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。
13.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?
这主要有脚本的默认超时设置引起。
当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。
这时需要修改脚本的运行时配置。
进入“Run-timeSetting”对话框后,依次进入“InternetProtocol→Preference”。
然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。
14.为什么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操作系统的限制,而只受硬件和内部可伸缩性限制的约束。
15.录制脚本为空
LR录制是客户端与服务器的数据交互,只有在有交互的时候才可以录制到脚本。
1)交互方式不一样,通过客户端的server进行交互,在scrīpt中选择最后一个trackprocessescreatedasCOMlocalservers[选择scrīpt里的最后一个选项].2.非客户端与服务器的交互的一种操作,在页面上点前进或后退,如果页面是从缓存中取出来的,那么也就没有和服务器数据交互,所以也录制的为空脚本。
[windows注册表中禁用缓存].3.协议选择错误,b/s不一定走http协议,还可能是https(http+ssl)。
[最基础的错误].录制出错。
2)选择internet里选项里的连接里的局域网设置的代理不能选,因为LR在录制的时候会动态选择。
3)网页里的恶意代码,检测的时候响应LR录制脚本[用工具检测恶意代码,然后卸载恶意代码,eg:
Ad_Aweare].
4)防病毒软件和防火墙,在录制时暂时关闭。
5)因为LR自身原因报错或者有些脚本不能录制下来[录制是最好选用scrīptview,此时会报错,但能写下脚本,是因为LR无法解析,可以手工修改,而treeview就直接停止了。
16. Loadrunner不支持默认的浏览器
有时候,我们上网的时候,不小心会将某个浏览器设置为默认的浏览器,而我们不知道,这个时候,我们用loadrunner进行录制的时候,会提示loadrunner不支持系统设置的默认的浏览器,因此,需要我们重新选择浏览器,我们可以利用Recondingoptiom中的Browser选项设置支持的浏览器,我们还可以利用下面的方法,将IE设置为默认的浏览器,因为loadrunner是支持IE的。
设置方法如下:
在IE“工具(T)”菜单→“Interner选项”→“程序”选项卡里,确保“检查InternetExplorer是否为默认的浏览器”选项打上√。
然后在你启动IE时,如果IE非默认浏览器就会出现提示窗是否把IE设置为默认。
17、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的资料。
18、问题描述Connectionresetbypeer.
这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。
解决办法:
Run-timesetting窗口中的‘InternetProtocol’-‘Preferences’设置setadvancedoptions(设置高级选项),重新设置一下“HTTP-requestconnecttimeout(sec),可以稍微设大一些”。
19、问题描述connectionrefused
这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同。
1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*StatementCacheSize)的值应该小于等于oracle数据库连接数最大值。
2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时间间隔大小,wiodows类似,只不过windows修改注册表,具体修改注册表中有TcpTimedWaitDelay和MaxUserPort项,键值在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\]。
因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。
在全部占满后,就会出现上面的错误。
执行netstat–na命令,可以看到打开了很多端口。
所以就调整TCP的timeout。
即在最后一个端口还没有用到时,前面已经有端口在释放了。
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
20、问题描述openmanyfiles
问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:
1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改。
2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大。
修改前记住备份此文件,防止修改出错。
3、linux上可以通过ulimit–HSn4096来修改文件打开数限制,也可以通过ulimit-a来查看。
4、linux上可以通过lsof-ppid|wc-l来查看进程打开的句柄数。
21、问题描述hasshutdowntheconnectionprematurely
一般是在访问应用服务器时出现,大用户量和小用户量均会出现。
来自网上的解释:
1>应用访问死掉
小用户时:
程序上的问题。
程序上存在数据库的问题
2>应用服务没有死
应用服务参数设置问题
例如:
在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。
如果连接时收到connectionrefused消息,说明应提高该值,每次增加25%
Java连接池的大小设置,或JVM的设置等
3>数据库的连接
在应用服务的性能参数可能太小了
数据库启动的最大连接数(跟硬件的内存有关)
以上信息有一定的参考价值,实际情况可以参考此类调试。
如果是以上所说的小用户时:
程序上的问题。
程序上存在数据库的问题,那就必须采用更加专业的工具来抓取出现问题的程序,主要是程序中执行效率很低的sql语句,weblogic可以采用introscope定位,期间可以注意观察一下jvm的垃圾回收情况看是否正常,我在实践中并发500用户和600用户时曾出现过jvm锯齿型的变化,上升下降都很快,这应该是不太正常的。
实际测试中,可以用telent站点看看是否可以连接进去,可以通过修改连接池中的连接数和适当增加应用内存值,问题可以解决。
22、问题描述Failedtoconnecttoserver
这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载机器),一个网络延迟严重,解决办法:
1、修改负载机器注册表中的TcpTimedWaitDelay减小延时和MaxUserPort增加端口数。
注:
这将增加机器的负荷。
2、检查网络延迟情况,看问题出在什么环节。
建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率就很小了。
23、问题描述Overlappedtransmissionofrequestto...WSA_IO_PENDING
这个问题,解决方法:
1、方法一,在脚本前加入web_set_sockets_option("OVERLAPPED_SEND","0"),禁用TTFB细分,问题即可解决,但是TTFB细分图将不能再使用,附图。
2、方法二,可以通过增加连接池和应用系统的内存,每次增加25%。
24、问题描述Deletedthecurrenttransaction...sinceresponsetimeisnotaccurate
这个问题不多遇见,一般出现在压力机器上发生ping值为负数(AMD双核CPU),可以重新启动pc机或者打补丁,附图。
25、问题描述HTTPStatus-Code=500(InternalServerError)for
1、应用服务当掉,重新启动应用服务。
2、当应用系统处于的可用内存处于阀值以下时,出现HTTPStatus-Code=500的概率非常高,此时只要增加应用系统的内存,问题即可解决。
26、问题描述Failedtotransmitdatatonetwork:
[10057]Socketisnotconnected
这个错误是由网络原因造成的,PC1和PC2上面都装了相同的loadrunner9.0,且以相同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同),PC1上面有少部分用户报错,PC2上的用户全部执行通过。
27、问题描述Error-27257:
Pendingweb_reg_save_param/reg_find/create_html_param[_ex]request(s)detectedandresetattheendofiterationnumber1
解决方法:
web_reg_save_param位置放错了,应该放到请求页面前面。
28、问题描述通过Controler调用远程代理时报错,Error:
CCIsecurityerror:
Youarerunningundersecuremodeandthefunctionsystemisnotallowedinthismode.
解决方法:
在代理开启的时候,去掉勾选防火墙选项。
29.LoadRunner超时错误:
在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。
错误现象1:
Action.c(16):
Error-27728:
Stepdownloadtimeout(120seconds)hasexpiredwhendownloadingnon-resource(s)。
错误分析:
对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。
解决办法:
首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“RuntimeSetting”>“InternetProtocol:
Preferences”>“Advanced”区域中设置一个“winlnetreplayinsteadofsockets”选项,再回放是否成功。
错误现象2:
Action.c(81):
ContinuingafterError-27498:
TimedoutwhileprocessingURL=http:
//172.18.20.70:
7001/workflow/bjtel/leasedline/querystat/subOrderQuery.do
错误分析:
这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。
如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。
解决办法:
例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。
如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。
分析一下服务器,最好对其性能进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LR常见问题整理汇总 LR 常见问题 整理 汇总