摘要:b,也可以把MaxUserPort调大65534。打开loadrunnerController,打开run-timeSettingforscript的设置界面,选中Browser,将默认勾选的simulateanewvuseroneachiteration取消勾选,运行场景,不再出现error:277962、报如下错误:Action.c:Error-27727:Stepdownloadtimeouthasexpiredwhendownloadingresource.Setthe"ResourcePageTimeoutisWarning"Run-TimeSettingtoYes/Nohavethismessageasawarning/error,respectively解决的方法:Run-TimeSetting--InternetProtocol--Preferences--Option--Stepdownloadtimeout改为150003、Error-27728:Stepdownloadtimeout:在“Run-TimeSettings”˃“InternetProtocol:Preferences”中,单击“options”,增加“HTTP-requestconnecttimeout”或者“HTTP-requestreceive”的值。
在负载生成器的注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters里,有如下两个键值:
2、报如下错误:Action.c(4):Error-27727:Step download timeout(120 seconds) has expired when downloading resource(s).Set the "Resource Page Timeout is Warning"Run-Time Setting to Yes/No have this message as a warning/error,respectively
解决的方法:
Run-Time Setting -- Internet Protocol-- Preferences -- Option -- Step download timeout(sec)改为15000(根据需要可能更大)
3、Error -27728: Step download timeout (120 seconds):
在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect timeout” 或者“HTTP-request receive”的值。
4. 错误详情:connect to host "XXX" failed:[10054] Connection resdt by peer
解决的办法:设置了runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项。
5、Loadrunner8.0和IE7.0的兼容问题
录制脚本的时候选择New Multiple Protocol Scipt -- web -- Program to record 选择ie7即可。
6、Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://XXX“,错误原因汇总:
a、运行的用户数过多,对服务器造成的压力过大,服务器无法响应。
b、该做关联的地方没有去做关联。
c、录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若该页面无关紧要,则可以在脚本中注释掉。
d、参数化时的取值错误。
e、更换了应用服务器(中间件的更换,如tomcat、websphere、jboss等),还是利用原先录制的脚本去运行,
则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,所录制的脚本也不一样,解决办法只有重新录制脚本。
f、Windows xp2 与ISS组件不兼容,则有可能导致HTTP500错误。对ISS组件进行调整后问题解决。
g、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,有空指针情况的存在。修改程序后问题解决。
需检查脚本解决问题;
7、错误 -26601: 解压缩函数(wgzMemDecompressBuffer)失败,返回代码=-5,解决方法:
Run-Time Setting -- Internet Protocol-- Preferences -- Option -- Network buffer size改为122880;
8、错误 -27492: “HttpSendRequest”失败,Windows 错误代码=12002,且已超出 URL="http://www.xxx.com/" 的重试限制(0)
解决方法:runtime setting中的preferences- ->options-->http request connect timeout(sec)的值设为999.,或者在脚本中添加https请求前,
添加函数 web_set_sockets_option("SSL_VERSION","TLS"),选项后再回放就成功了。
9、Failed to send data by channels - post message failed.解决办法:
解决办法1: 在LR的controller负载生成器的菜单栏,单击【Diagnostics】》configuration》
Web Page Diagnostics【Max Vuser Sampling 10%】设置为【Eenable】。
解决办法2:直接去掉勾选Enable the following diagnostics即可。
10、Abnormal termination, caused by mdrv process termination.错误:
增加线程数:修改LoadRunner安装目录下(LoadRunnerdatprotocols)的http.lrp,在最后加一条MaxThreadPerProcess=10(10为线程数)
11、运行脚本,运行一段时间以后出现如下error messages。
1. Code - 60990 Error: Two Way Communication Error: Function two_way_comm_post_message / two_way_comm_post_message_ex failed.
2. Code - 29739 Error: Service client with id=1 failed to post a message, reason - communication error.
3. Code - 16895 Error: Failed to post xdr buffers data array by post_ex.
4. Code - 10343 Error: Communication error: Cannot send the message since reached the shared memory buffer max size.
问题诱因1:
共享内存缓存溢出,造成Controller和Load Generator之间通讯出现问题。
解决方案:
修改两个配置文件。
1. $installation folder$datchannel_configure.dat
2. $installation folder$launch_servicedatchannel_configure.dat
在这两个文件中的[general]部分下添加如下配置。
shared_memory_max_size=100 (修改共享内存为100MB,默认是50MB)
重新启动Controller,问题解决。
问题诱因2
打开 controller中的 diagnostics菜单,点掉复选框.. 步骤如下图
1.
2. 点掉 Enable the following diagnostics
3. 整理了一下 这个功能是干么滴:
当场景中打开 Diagnostics 菜单下 Web Page Diagnostics 功能后, 才能得到网页分析组图。
通过该图, 可以对事务的组成进行抽丝剥茧的分析, 得到组成这个页面的每一个请求的时间分析, 进 一步了解响应时间中有关网络和服务器处理时间的分配关系。
可以实现对网站的前端性能分析, 明确系统响应时间较长是由服务器端处理能力不足还是客户端链接 到服务器的网络消耗导致的。
12、Fatal Error -26000: Not enough memory (12320 bytes) for "new buffer in LrwSrvNetTaskIt 问题解决及lr脚本心得
现象: 用loadrunner跑场景的时候报错:
Action.c(28): Fatal Error -26000: Not enough memory (12320 bytes) for "new buffer in LrwSrvNetTaskItem::AllocSrvNetBuf". Aborting 的错误,
同时任务管理器里mmdrv.exe 内存占用一直增大,最终mmdrv.exe崩溃. 网上有人认为是 lr的 emulation browser设置问题,最后发现系脚本问题,原脚本声明了好几个变量,而且都未使用:
1 Action() 2 { 3 4 //返回的字符串 5 char resp_txt[200] = {0}; 6 //写入流的数据 7 long myfile; 8 //当前日期时间 9 long now; 10 ..... 11 ...... 12 13 return 0; 14 } |
解决方法及总结:
后将此三个变量注释之后问题解决.
结论:LR的脚本要注意内存的使用,尽量减少变量声明,对于char类型的变量要及时用free:即:
1 char * a;
2 free (a);
14、controller在vuser释放的时候出现 -29741 Error: Message sent by service with id=257 failed. No service provider was set at the target point.
检查集合点设置。