|
2#
楼主 |
发表于 2008-8-15 16:30:13
|
只看该作者
贴来备忘
1.lr_think_time默认是没有启用的。所以我们在执行测试或在回放的时候启用它。具体操作为:Vugen--》Vuser---》Runtime-settings-----》thinktime-----》选中Replay thinktime,其他设置根据实际需要。
关于thinktime的一个详细的介绍和用法,见:http://www.testage.net/html/19/n-155019.html
2.设置Rendezvous的时间。
在Controller中,Scenarioc菜单-----》Rendezvous 进入就可看到目前脚本中的各个集合点,选中一个,然后点击“Policy”进入后,就可以设置集合点的属性,Rendezvous默认为30秒,可以重新设置成自己期望的值。
3.Step download timeout(sec) 设置。
这个默认是120秒,但是经常我们要设置的更大一些,具体设置方法:Vugen--》Vuser---》Runtime-settings----》Preferences------》option,将Step download timeout(sec)默认值120s改为自己需要的值,其次要改变HTTP-reguest connnect timeout(sec)和HTTP-reguest receive timeout(sec)也为相应的值。
4.修改本机tcp连接数。
因为个人pc机的默认的tcp连接数只有15个(xp),所以我们在模拟虚拟多个用户时,就会遇到tcp的连接限制,从而报错。修改的方法:windows下运行 Patch.exe
输入C,再输入你要的TCP/IP连接数字(一般为500~2000)回车确认
输入Y 回车确认。
倒计时15秒后结束。
接着再运行下Patch.exe,看连接数是不是由原来的10变成自己改了的数值。
Patch.exe 下载地址:http://www.touchboy.cn/2007/05/% ... %E6%8E%A5%E6%95%B0/
6.对LR中报WSA_IO_pending的解析和解决
Message Code 27740
Overlapped transmission of request to '%1' for URL 'URL' failed.
The transmission of data to the server failed. It could be a network, router, or server problem. The word Overlapped refers to the way LoadRunner sends data in order to get a Web Page Breakdown.
Troubleshooting
Add the following statement to the beginning of the script to disable the breakdown of the "First Buffer" into server and network time: web_set_sockets_option("OVERLAPPED_SEND", "0");
web_set_sockets_option("OVERLAPPED_SEND", "0");
7.关于Error -27791: Error -27790:Error -27740:错误的解决方法:
错误如下:
Action.c(198): Error -27791: Server "www.zcpx.cn" has shut down the connection prematurely
Action.c(198): Error -27790: Failed to read data from server "www.zcpx.cn": [10053] Software caused connection
abort
Action.c(198): Error -27740: Overlapped transmission of request to "www.zcpx.cn" for URL
"http://www.zcpx.cn/userEntry.do" failed: WSA_IO_PENDING
解决办法:
在脚本的最前面加上web_set_sockets_option("OVERLAPPED","0");
8.LR中错误代号为27796的一个解决方法
问题:
曾经遇到过一个问题,在一次性能测试过程中,使用http协议的多用户向服务器发送请求。设置了持续时间,出现错误为:27796, Failed to connect to server 'hostname';port_ld': 'reason'.10048。
分析
因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。
成功的解决方法:
在负载生成器的注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里,有如下两个键值:
TcpTimedWaitDelay
MaxUserPort
1,这里的TcpTimedWaitDelay默认值应该中是30s,所以这里,把这个值调小为5s(按需要调整)。
2,也可以把MaxUserPort调大(如果这个值不是最大值的话)。
反复验证,问题解决。 |
|