本文以Loadrunner 9.5为例,详细描述了如何设置IP欺骗,用以在性能和压力测试中应用。
1. 本机地址设置为静态IP地址,可先ipconfig查看动态获得的IP和DNS等信息,然后手动设置成相同即可。
2. 运行Loadrunner的“IP向导”工具。
(1)选择create new setting,下一步
(2)输入服务器IP地址,虚拟的IP地址以此地址作为服务器连接网络,所以此地址必须设置为可以访问待测试服务器的IP地址
(3)添加IP地址,即添加虚拟IP地址,一般添加与第2步的服务器地址同在一个子网的IP即可,不用担心IP冲突,貌似Loadrunner在运行时会进行检测,不会虚拟已经存在的IP(没有详细研究,初步观察是这样)。
如果网段内IP不够用,也可添加其他网段的地址,但需要在待测服务器端设置路由。例如,服务器地址172.31.13.113,本机(Loadrunner)地址172.31.13.85,添加虚拟地址10.0.0.1-10.0.0.200,掩码255.255.255.0,则需要在172.31.13.113使用如下命令添加路由:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.31.13.85
(4)完成,提示重启生效。实际上无需重启,只需停用->启用“网络连接”即可。ipconfig命令可以查看虚拟IP
3.Controller设置
(1)选中Scenario->Enable IP Spoofer
(2)选中Tools->Expert Mode
(3)第2步中选中了Expert Mode后,在Tools->Options中可以看到General标签,此处的Multiple IP Address Mode的设置必须和脚本的Run-time settings->Miscellaneous->Multithreading保持一致,即同为process或同为thread
4.现在已经可以使用虚拟IP进行性能测试了。例子如下:
Action() { char * ip=lr_get_vuser_ip(); if(ip) lr_log_message("The ip address is %s",ip); else lr_log_message("IP spoofing disabled"); return 0; }
在Controller中执行,查看log如下:
app_1.log
Start auto log messages stack - Iteration 1. [MsgId: MMSG-10545]
Starting action Action. [MsgId: MMSG-15919]
The ip address is 10.0.0.2 [MsgId: MMSG-17999]
......
app_2.log
Start auto log messages stack - Iteration 1. [MsgId: MMSG-10545]
Starting action Action. [MsgId: MMSG-15919]
The ip address is 10.0.0.3 [MsgId: MMSG-17999]
......
可以看到,虚拟IP已经生效
5.打开IP向导,释放所有虚拟IP,重启网络连接,即可恢复原状