性能测试问题总结6

1问题描述 Deletedthe current transaction ... since response time is not accurate

这个问题不多遇见,一般出现在压力机器上发生ping值为负数(AMD双核CPU),可以重新启动pc机或者打补丁,附图。  

2问题描述Failedto transmit data to network: [10057]Socket is not connected

这个错误是由网络原因造成的,PC1PC2上面都装了相同的loadrunner 9.0,且以相同数量的虚拟用户数运行相同的业务(机器上的其他条件都相同),PC1上面有少部分用户报错,PC2上的用户全部执行通过。  

3 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位置放错了,应该放到请求页面前面。

 

4通过Controler调用远程代理时报错,Error: CCI security error:You are running under secure mode and thefunction system is not allowed in this mode.  

解决方法:在代理开启的时候,去掉勾选防火墙选项。  

 

5 Error-27498

错误现象2Action.c(81):Continuingafter Error -27498: Timed out while processingURL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/subOrderQuery.do  

错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。  

解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。最后,增加一下运行时的超时设置,在“Run-Time Settings>Internet Protocol:Preferences”中,单击“options”,增加“HTTP-requestconnect timeout”或者“HTTP-request receive”的值。 

6LoadRunnerHTTP服务器状态代码404

在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码404  

错误现象1-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。  

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

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

7 LoadRunner请求无法找到

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

错误现象:Action.c(41):Error -27979: Requested form. not found [MsgId: MERR-27979]  

 Action.c(41): web_submit_form. highestseverity level was “ERROR”,0 body bytes, 0 header bytes [MsgId:MMSG-27178]”   这是在tree view中看不到此组件的相关URL  

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

解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based script”,单击“HTML Advanced”,选择“Script. Type”为“A script. containing explicit”。然后再选择使用“URL-basedscript”模式来录制脚本。  

 

8LoadRunner不执行检查方法

在录制Web协议脚本中添加了检查方法Web_find,但是在脚本回放的过程中并没有执行。  

错误现象:在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。  

错误分析:由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。  

解决办法:打开运行环境设置对话框进行设置,在“Run-time Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text check”选项。  

 

9LoadRunner回放Web Services协议脚本错误:

LoadRunner 8.0版本在录制Web Services协议的脚本时正常,但在回放时会出现错误,提示停止脚本运行。  

错误现象:利用LoadRunner8.0版本来录制Web Services协议的脚本没有任何错误提示,回放脚本时会出现如下错误提示“Errorserver returned an incorrectly formatted SOAP response”。  

错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为1.0encoding=zh_cn ?>,所以才会有此错误提示。  

解决办法:下载两个补丁,分别为“LR80WebServicesFPI_setup.exe”和“lrunner_web_services_patch_1.exe”安装上即可。

 

10 error:missingnewline in d:\loadrunner\name.dat

场景执行时报error:missing newline in d:\loadrunner\name.dat   第二次执行不报  

两个解决办法:  

第一:如果参数不是很多的话,不要打开记事本去编辑参数,就直接在LR提供的参数的表格中进行编辑即可。  

第二:如果参数很多超过100条的话。在记事本中编辑好了之后,记着在最后一个参数后打个回车,让鼠标的光标移动到下一行。 

 

11.loadgenerator is currently running the maximum number of vuser of this type   

在测试的时候发现runningvuser到达1000以后就不能再提高,后面的vuser就会出错。错误是“The load generator is currently running the maximum number of vuserof this type.  

已经可以排除是load generator机器本身资源的问题。因为换了性能比较强的酷睿2还是同样的问题,CPUmemory都有空闲。  

解决办法:  

load generator中有一个Vuser limits tab,可以设置running user的最大数目。即设置 load generator----Details------Vuser limits ----Other Vusers 的最大参数  

 

12sofewarecaused connction:

这种情况,一般是脚本有问题,或者loadrunner有问题。解决方法:重新启动机器,或者重新录制脚本,估计是loadrunnerbug  

 

13 cannot connect to server:

无法连接到服务器。这种情况是服务器的配置有问题,服务器无法承受过多的并发连接了。需要优化服务器的配置,  

如操作系统采用windows 2003 server  

优化tomcat配置:maxThreads="500" minSpareThreads="400"maxSpareThreads="450"。但是tomcat 最多支持500个并发访问  

优化apache配置:  

ThreadsPerChild 1900 

MaxRequestsPerChild 10000 

其他的错误如:  

Action.c(10): Error -27791: Server has shutdown the connection prematurely  

HTTP Status-Code=503 (Service TemporarilyUnavailable)  

一般都是由于服务器配置不够好引起的,按照以上处理,如果仍旧不行,需要优化硬件和调整程序了。  

 

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

  主要时设置问题。在ToolsoptionsRun-time setting中可以设置每次最多初始化的虚拟用户。如果需要100个并发用户,则将该值设置为大于100的数值。另外,注意LoadRunner相关协议License的更新,确保使用的License能够允许所需要的并发用户数量。

 

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

  用VuGen打开虚拟用户脚本后,进入"Run-time Settings"对话框后,依次进入"GeneralMiscellaneous",可以看到Miscellaneous设置中关于"ErrorHandling"的配置。勾选"Continue on error"即可让虚拟用户发生错误继续运行。

 

16为什么.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

 

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

  进入脚本的运行时设置,依次进入GeneralMiscellaneous。默认情况下,自动事务配置"Automatic Transactions"下有两个选项:第一个是把脚本的Action部分定义为一个事务;第二个时把脚本的每一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示自己定义的用户事务。

 

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

  主要是受采样时间的影响。Summary里的事务平均响应时间是根据整个场景执行过程得到的数据计算所得,最大值与最小值也是从整个场景中得到的。平均事务响应时间图主要时按照LoadRunner分析出来的采样频率来获取事务响应时间的最大值与最小值,然后计算平均值。

 可以通过"Set Granularity"来修改平均事务响应时间图的采样频率。如果把"Granularity"设为场景执行时间,则统计结果将会一致。

 

19 统计结果中的总点击量Total Hits时用户的鼠标点击次数

  Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起的总的请求数来进行统计的。例如在向服务器请求的一个页面中,如果该页面包含5个图片,用户只要单击鼠标就可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6次。

 

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

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

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

 

 

你可能感兴趣的:(性能测试)