2023年11月29日发(作者:)

LoadRunner出现error问题及解决方法总结

一、Step download timeout (120 seconds)

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

1修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都

修改了,HTTPrequest connect timeoutHTTPrequest receieve timeoutStep download timeout

分别建议修改为6006005000run time setting设置完了后记住还需要在control组件的

optionrun time setting中设置相应的参数。

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

设置runt time setting中的internet protocolpreferences中的advaced区域有一个winlnet

replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,

此法来自zee的资料。

二、Connection reset by peer.

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

间。

解决办法:Runtime setting窗口中的Internet ProtocolPreferences设置set advanced

options(设置高级选项),重新设置一下“HTTPrequest connect timeoutsec,可以稍微设

大一些”

三、connection refused

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

的操作系统方式也不同。

1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待

情况,此时需要增加acceptBacklog每次增加25%来提高看是否解决,同时还需要增加连接

池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连

接数最大值。

2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了

限制,AIX下可以直接vi文件limits修改其中的连接限制数、端口数,还有tcp连接等待时

wiodowswindows

TcpTimedWaitDelayMaxUserPort

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]。因为负载生

成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端

口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat

na命令,可以看到打开了很多端口。所以就调整TCPtime out即在最后一个端口还没有

用到时,前面已经有端口在释放了。

1、这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按

需要调整)

2、也可以把MaxUserPort调大(如果这个值不是最大值的话)

四、open many files

问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数

有最大值限制造成,解决办法:

1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设

置为没有限制,尽量对涉及到的服务器都作修改。

2、方法一解决不了情况下再去查看应用服务器weblogic文件,修改

其中的nofiles文件maxnofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,

修改其中else条件的执行体,把文件打开数调大。修改前记住备份此文件,防止修改出错。

3linux上可以通过ulimit HSn 4096来修改文件打开数限制,也可以通过ulimita

查看。

4linux上可以通过lsofp pid | wcl 来查看进程打开的句柄数。

五、has shut down the connection prematurely

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

来自网上的解释:

1> 应用访问死掉

小用户时:程序上的问题。程序上存在数据库的问题

2> 应用服务没有死

应用服务参数设置问题

例如:

在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可

能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection

refused消息,说明应提高该值,每次增加25

Java连接池的大小设置,或JVM的设置等

3> 数据库的连接

在应用服务的性能参数可能太小了

数据库启动的最大连接数(跟硬件的内存有关)

以上信息有一定的参考价值,实际情况可以参考此类调试。

如果是以上所说的小用户时:程序上的问题。程序上存在数据库的问题,那就必须采用

更加专业的工具来抓取出现问题的程序,主要是程序中执行效率很低的sql语句,weblogic

可以采用introscope定位,期间可以注意观察一下jvm的垃圾回收情况看是否正常,我在实

践中并发500用户和600用户时曾出现过jvm锯齿型的变化,上升下降都很快,这应该是不

太正常的。

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

实际测试中,可以用telent 站点看看是否可以连接进去,可以通过修改连接池中的连

接数和适当增加应用内存值,问题可以解决。

六、Failed to connect to server

这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载

机器),一个网络延迟严重,解决办法:

1、修改负载机器注册表中的TcpTimedWaitDelay减小延时和MaxUserPort增加端口数。

注:这将增加机器的负荷。

2、检查网络延迟情况,看问题出在什么环节。

建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载

机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率

就很小了。

七、Overlapped transmission of request to ... WSA_IO_PENDING

这个问题,解决方法:

1方法一,在脚本前加入web_set_sockets_option("OVERLAPPED_SEND", "0")禁用TTFB

细分,问题即可解决,但是TTFB细分图将不能再使用,附图。

2、方法二,可以通过增加连接池和应用系统的内存,每次增加25%

八、Deleted the current transaction ... since response time is not

accurate

这个问题不多遇见,一般出现在压力机器上发生ping值为负数AMD双核CPU可以

重新启动pc机或者打补丁,附图1

九、HTTP Status­Code=500 (Internal Server Error) for

1、应用服务当掉,重新启动应用服务。

2、当应用系统处于的可用内存处于阀值以下时,出现HTTP StatusCode=500的概率非

常高,此时只要增加应用系统的内存,问题即可解决。

十、Failed to transmit data to network: [10057] Socket is not

connected

这个错误是由网络原因造成的,PC1 PC2上面都装了相同的loadrunner 9.0,且以相

同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同)PC1上面有少部分用户

报错,PC2上的用户全部执行通过。

Error ­27257: Pending

web_reg_save_param/reg_find/create_html_param[_ex]

request(s) detected and reset at the end of iteration number 1

解决方法:web_reg_save_param位置放错了,应该放到请求页面前面。

十二、Error: CCI security error:You are running under secure

mode and the function system is not allowed in this mode.

解决方法:在代理开启的时候,去掉勾选防火墙选项。(通过Controler调用远程代理时

报错)

分析原则:

具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关

注点)

查找瓶颈时按以下顺序,由易到难。

服务器硬件瓶颈网络瓶颈(对局域网,可以不考虑)服务器操作系统瓶颈(参

数配置)〉中间件瓶颈(参数配置,数据库,web服务器等)〉应用瓶颈(SQL语句、数

据库设计、业务逻辑、算法等)

注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深

度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,

系统的硬件瓶颈在哪儿就够了。

分段排除法 很有效

分析的信息来源:

1 根据场景运行过程中的错误提示信息

2 根据测试结果收集到的监控指标数据

十三、 Error: Page download timeout (120 seconds) has expired

分析:可能是以下原因造成

A、应用服务参数设置太大导致服务器的瓶颈

B、页面中图片太多

C、在程序处理表的时候检查字段太大多

()

造成HTTP500错误,可能存在的原因之个人实践总结

1、运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500

误。减小用户数或者场景持续时间,问题得到解决。

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

得到解决。

3、录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若

该页面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,

管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。

4、参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际

应用系统中进行测试,可排除问题。

5、更换了应用服务器(中间件的更换,如tomcatwebspherejboss等),还是利用原

先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,

所录制的脚本也不一样,解决办法只有重新录制脚本。

6Windows xp2 ISS组件不兼容,则有可能导致HTTP500错误。ISS组件进行调整

后问题解决。

7、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,

有空指针情况的存在。修改程序后问题解决。

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

当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情

况,可以用下面的方法来解决。

启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩

展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题

提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此

建议运行LoadRunner得主机上保持一个干净的测试环境。

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

录制脚本前,打开录制选项配置对话框RecordOptions,进入到Advanced标签,先勾

选“Support charset,然后选择中支持UTF8。再次录制,就不会出现中文乱码问题了。

­based scriptURL­based script的脚本有什么区别?

使用“HTMLbased script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独

的步骤,这种脚本看上去比较直观;使用“URLbased script”模式录制脚本时,VuGen可以

捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成

对应方法。

通常,基于浏览器的Web应用会使用“HTMLbased script”模式来录制脚本;而没有基

于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的

应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了

HTTPS安全协议,这时使用“URLbased script”模式进行录制。

17.为什么脚本中添加了检查方法Web­find但是脚本回放时却没有

执行?

由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。

要想开启检查功能,必须修改运行时的配置Runtime Setting

进入Runtime Setting对话框,依次进入Internet ProtocolPreferences勾选Checks

下的“Enable Image and text check”选项即可。

检查执行结果时推荐使用web_reg_find方法。

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

Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后立刻开

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

根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。

19.运行时设置Log标签中,如果没有勾选“Enable logging,则手

工消息可以发送吗?

Enable logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾

选,虚拟用户脚本中如果使用lr_messagelr_output_messagelr_error_message,仍然会记

录其发出的消息。

nner 8.0版本的VuGen在录制Web Services协议的脚本

时一切正常,而回放时报出错误提示“Errorserver returned an

incorrectly formatted SOAP response。这时说明原因引起的?

造成这种情况的主要原因是LoadRunner 8.0VuGen在录制Web Service协议的脚本时

存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为

version=1.0 encoding=zh_cn?>,因此会有上面的错误提示。

解决方法:把“LR80WebservicesFPI_”和“lrunner_web_sevices_path_

两个补丁打上即可解决。

支持Netscape的客户证书吗?

不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客户端证书。录制脚本时

可以先从Netscape中导出所需的证书,然后将其导入到Internet Explorer中,并确保以相同

的顺序导出和导入这些证书。而且,在每台将要录制或运行需要证书的Web Vuser脚本的计

算机上都要重复执行前面的过程。

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

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

然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的

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

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

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

22.LoadRunner脚本如何输出当前系统时间?

LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数

指针,用于存放返回时间的数值表示。

调用语句与返回值如下示例:

typedef long time_t;

Action()

{

time_t t;

lr_message(“Time in seconds since 1/1/70: %ldn”,time(&t));

lr_message(“System time and date: %s”,ctime(&t));

}

输出结果为:

Time in seconds since 1/1/70: 1185329968

System time and date:Wed Jul 25 10:19:28 2007

23.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设

置迭代次数大于1时,如果进行回放则只能成功迭代一次。为什么

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

这种现象多是由于在“Runtime Setting”的“Browse Emulation”的设置中,勾选了

Simulate a new user on each iteration”及其下面的选项“Clear cache on each iteration”这

两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。

由于脚本迭代时,initend只能执行一次,如果每次迭代都模拟一个新的用户并清除

缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。

24.虚拟客户脚本“Run­time Setting”中的线程和进程运行方式的

区别?

如果选择“Run Vuser as a process,则场景运行时会为每一个虚拟用户创建一个进程;

选择“Run Vuser as a thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看

到一个,这种方式的运行效率更高,能造成更大的压力,时默认选项。

另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的Expert Mode

然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser

行方式一致,同为线程或进程方式。

25.Controller中运行Web相关测试场景时,经常会有很多超时

错误提示,如何处理这类问题?

这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间

较长,会产生超时的错误。这时需要修改脚本的运行时配置。

进入“Runtime Setting”对话框后,依次进入“Internet ProtocolPreference。然后点

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

26.为什么Windows系统中的CPU、内存等资源仍然充足,但是模

拟的用户数量却上不去?

Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser这个限

制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。要想突破

Windows这个限制,须修改Windows注册表。以Windows XP Professional为例。

1HKEY_LOCAL_MACHINE

SystemCurrentControlSetControlSession ManagerSubSystems

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

%SystemRoot% bjectDirectory=Windows

SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1

ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2

ProfileControl=Off MaxRequestThreads=16

SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz其中,xxxx定义了系统范围

堆的最大值(以KB为单位)yyyy定义每个桌面堆得大小。

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

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

Vuser。这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬

件和内部可伸缩性限制的约束

ller中设置了用户并发数量,但是运行时为何初始化的用

户数量少于实际数量?

主要时设置问题。在ToolsoptionsRuntime setting中可以设置每次最多初始化的虚

拟用户。如果需要100个并发用户,则将该值设置为大于100的数值。另外,注意LoadRunner

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

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

力测试?

VuGen打开虚拟用户脚本后,进入Runtime Settings对话框后,依次进入General

Miscellaneous可以看到Miscellaneous设置中关于Error Handling的配置。勾选Continue

on error”即可让虚拟用户发生错误继续运行。

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

主要时LoadRunner的版本问题。根据笔者的经验,如果是Microsoft Visual Studio 2005

开发的虚拟用户,同时LoadRunner客户端的版本低于8.1,执行Controller的主机将会发生

错误。

因此要想正确的运行Microsoft Visual Studio 2005开发的.NET虚拟用户,客户端最好装

8.1以上的版本,Controller的主机则安装8.08.1两个版本均可。此外,产生压力的

LoadRunner客户端上预先应该安装.NET运行环境,如果Microsoft Visual Studio 2005开发的

.NET虚拟用户,则应该安装Microsoft .NET Framework SDK v2.0

30.测试分析结果中会统计Action时间,而实际上可能并不须要这些

数据,如何只显示自己定义的用户事务?

进入脚本的运行时设置,依次进入GeneralMiscellaneous。默认情况下,自动事务配

Automatic Transactions下有两个选项:第一个是把脚本的Action部分定义为一个事务;

第二个时把脚本的每一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示自己

定义的用户事务。

31.测试结果中,Summary和平均事务响应时间图里的各个事务的

最大值、平均值、最小值为什么显示不一样?

主要是受采样时间的影响。Summary里的事务平均响应时间是根据整个场景执行过程

得到的数据计算所得,最大值与最小值也是从整个场景中得到的。平均事务响应时间图主要

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

平均值。

可以通过Set Granularity来修改平均事务响应时间图的采样频率。如果把Granularity

设为场景执行时间,则统计结果将会一致。

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

Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起

的总的请求数来进行统计的。例如在向服务器请求的一个页面中,如果该页面包含5个图片,

用户只要单击鼠标就可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6

次。

33.有些Web测试结果分析图(例如每秒返回页面数)在测试结果分

析图中无法看到,如何进行配置?

VuGen打开虚拟用户脚本后,进入Runtime Settings对话框后,依次进入Internet

Protocol>Preference,可以看到一些Web性能图配置。

勾选上面得选项后,Controller将会在测试执行过程中生成数据,然后可在Analysis

查看相应的性能结果分析图。

34Error ­27979: Requested form. not found

LoadRunner请求无法找到:在录制Web协议脚本回放脚本的过程中,会出现请求无法

找到的现象,而导致脚本运行停止。

错误现象:Action.c(41): Error27979: Requested form. not found [MsgId: MERR27979]

Action.c(41): web_submit_form. highest severity level was "ERROR",0 body bytes, 0 header

bytes [MsgId: MMSG27178]"

这时在tree view中看不到此组件的相关URL

错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使

用“HTMLbased script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包

含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的

JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用URLbased

script”模式进行录制。

解决办法:打开录制选项配置对话框进行设置,在“Recording

Options”的“Internet

Protocol选项里的Recording中选择Recording LevelHTMLbased script单击HTML

Advanced选择Script. TypeA script. containing explicit然后再选择使用URLbased

script”模式来录制脚本。

35 Errorserver returned an incorrectly formatted SOAP

response

LoadRunner回放Web Services协议脚本错误:LoadRunner 8.0版本在录制Web Services

协议的脚本时正常,但在回放时会出现错误,提示停止脚本运行。

错误现象:利用LoadRunner 8.0版本来录制Web Services协议的脚本没有任何错误提示,

回放脚本时会出现如下错误提示“Errorserver returned an incorrectly formatted SOAP

response

错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在

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

version="1.0"encoding="zh_cn" ?>,所以才会有此错误提示。

解决办法:下载两个补丁,分别为“LR80WebServicesFPI_”和“lrunner_web_

services_patch_”安装上即可。

LR回放中highest severity level was"ERROR"的一个解决方法

LR中录制脚本时有如下问题:

在录制时一切正常,而回放时提示类似如下错误:

Action.c(41): Error27979: Requested form. not found [MsgId: MERR27979]

Action.c(41): web_submit_form. highest severity level was "ERROR", 0 body bytes, 0

header bytes [MsgId: MMSG27178]"

这时在tree view中看不到此组件的相关URL(测通:

处理方法如下:

1 打开recording options,在internet protocol下的recording中选择recording level

HTMLbased script点击HTML Advanced选择

script. typeA script. containing explicit.即可。

2 选择使用URL_based script录制。

另外,附上帮助中的这个错误代码的说明:

Message Code 27979

Requested form. not found

The form. was not found in the page received from the server. Possible reasons: (i) The

current or a previous HTML page was changed after the script. was recorded. (ii) A

previous

request navigated to a wrong page or failed. (iii) One or more web_submit_form. arguments are

missing or incorrect (especially for manually coded, parameterized, or correlated functions). (iv)

The server returned an unexpected page (e.g., under excessive load).

Troubleshooting

If the current or previous HTML page was changed, look for

the correct properties of the

form. used in the text (e.g., action), and change it in the script.

If your snapshots and extended log are disabled, enable them and run the script. again.

(i) To enable Snapshots: Select Tools > General Options > Correlation, and check the Save

correlation information during

replay box.

(ii) To enable Extended Log: Select Runtime Settings > General: Log, and check Enable

logging, Always send messages, Extended log, Data returned by server, Advanced trace.

Compare the record and replay snapshots for each step in the script. from the beginning,

and locate the first difference. If

you identify a difference in the snapshots, locate the

corresponding HTTP request in both the recording log and the extended log. Compare the

requests and, if they are different, have the replay issue exactly the same request. This can be

done, for example, by adding web_add_header (for adding missing headers or

adjusting existing

ones), web_remove_auto_header (for removing extra headers), and web_add_cookie (for

missing cookies).

If some correlation is missing, (e.g., the recording and replay runs have different session IDs),

use the correlation tool to locate and handle such cases.

­26612: HTTP Status­Code=500 (Internal Server Error)

最近在测试一系统的时候,录制脚本没有错误,回放的时候总是出现如下错误:

Action.c(6): Error 26612: HTTP StatusCode=500 (Internal Server Error) for

"192.168.0.110:7001/;jsessionid={JSESSIONID2}"

造成HTTP500错误,有朋友告诉我如下几个可能:

1、运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500

误。减小用户数或者场景持续时间,问题得到解决。

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

得到解决。

3、录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若

该页面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,

尽管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。

4、参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际

应用系统中进行测试,可排除问题。

5、更换了应用服务器(中间件的更换,如tomcatwebspherejboss等),还是利用原

先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,

所录制的脚本也不一样,解决办法只有重新录制脚本。

6Windows xp2 ISS组件不兼容,则有可能导致HTTP500错误。ISS组件进行调整

后问题解决。

7、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,

有空指针情况的存在。修改程序后问题解决。

查找后台日志发现报了很多0ra01000错误,这是oracle达到最大游标参数值,google

,最大原因可能是JDBC连接没关闭。最后查找weblogic连接池出了问题,很多连接没关闭。

37. error:missing newline in d:

场景执行时报error:missing newline in d:

第二次执行不报

两个解决办法:

第一:如果参数不是很多的话,不要打开记事本去编辑参数,就直接在LR提供的参数

的表格中进行编辑即可。

第二:如果参数很多超过100条的话。 在记事本中编辑好了之后,记着在最后一个参

数后打个回车,让鼠标的光标移动到下一行。

generator is currently running the maximum number of

Vuser of this type

使用的是loadrunner8.0,有10000个用户的weblicenseglobal的有10个。

在测试的时候发现running vuser到达1000以后就不能再提高,后面的vuser就会出

错。错误是“The load generator is currently running the maximum number of

vuser of this type.

已经可以排除是load generator机器本身资源的问题。因为换了性能比较强的酷睿2

还是同样的问题,CPUmemory都有空闲。

解决办法:

load generator中有一个Vuser limits tab可以设置running user的最大数

目。 即设置 load generator‐‐‐‐Details‐‐‐‐‐‐Vuser limits ‐‐‐‐Other Vusers

的最大参数

39.常见问题

1sofeware caused connction:这种情况,一般是脚本有问题,或者loadrunner有问

题。解决方法:重新启动机器,或者重新录制脚本,估计是loadrunnerbug

2cannot connect to server:无法连接到服务器。这种情况是服务器的配置有问题,服

务器无法承受过多的并发连接了。需要优化服务器的配置,

如操作系统采用windows 2003 server

优化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"

但是tomcat 最多支持500个并发访问

优化apache配置:

ThreadsPerChild 1900

MaxRequestsPerChild 10000

其他的错误如:

Action.c(10): Error27791: Server has shut down the connection prematurely

HTTP StatusCode=503 (Service Temporarily Unavailable)

一般都是由于服务器配置不够好引起的,按照问题(

2)处理,如果仍旧不行,需要优

化硬件和调整程序了。

Apache问题:

1 File does not exist: C:/Apache/htdocs/

这个问题是apachehtdocs目录没有文件引起的,该文件是网站的图标,

firefox,myIE等浏览器出现。

2 图片无法显示:

配置apache后,却无法显示图片。

解决方法:把程序的图片,按照程序结构copyapachehtdocs目录下。

3 无法处理请求:

当我们输入 ***.do 命令后,apache确返回错误信息,而连接tomcat却没有问题。原

因是没有把.do命令转发给tomcat处理。解决方法如下:

apache配置文件中配置如下内容:

DocumentRoot "C:/Apache/htdocs"

JkMount /*.jsp loadbalancer

JkMount /*.do loadbalancer

40、问题描述open many files

问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数

有最大值限制造成,解决办法:

1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设

置为没有限制,尽量对涉及到的服务器都作修改;

2、方法一解决不了情况下再去查看应用服务器weblogic文件,修改

其中的nofiles文件maxnofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,

修改其中else条件的执行体,把文件打开数调大;修改前记住备份此文件,防止修改出错;

41、问题描述Failed to connect to server

这个问题一般是客户端链接到服务失败,原因有两个客户端连接限制(也就是压力负载

机器),一个网络延迟严重,解决办法:

1 修改负载机器的tcpdelaytime注册表键值,改小;

2 检查网络延迟情况,看问题出在什么环节;

建议为了减少这种情况,办法一最好测试前就完成了,保证干净的网络环境,每个负载

机器的压力测试用户数不易过大,尽量平均每台负载器的用户数,这样以上问题出现的概率

就很小了。

Apache问题

1 File does not exist: C:/Apache/htdocs/

这个问题是apachehtdocs目录没有文件引起的,该文件是网站的图标,

firefox,myIE等浏览器出现。

2 图片无法显示:

配置apache后,却无法显示图片。

解决方法:把程序的图片,按照程序结构copyapachehtdocs目录下。

3 无法处理请求:

当我们输入 ***.do 命令后,apache确返回错误信息,而连接tomcat却没有问题。原

因是没有把.do命令转发给tomcat处理。解决方法如下:

apache配置文件中配置如下内容:

DocumentRoot "C:/Apache/htdocs"

JkMount /*.jsp loadbalancer

JkMount /*.do loadbalancer