验证IP欺骗
第一步:选择Scenario--->Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。(这里前面已经说过,这里只是再提醒一下)
第二步:勾选“Tools”—“Export Mode”
第三步:“Tools”—“Options”—“General”
这里又有一个设置以进程方式或线程方式进行性能测试。这里和run-time settings 里的设置是什么关系?
这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。
第四步:
运行脚本,查看虚拟用户log
在脚本运行页面,点击Vusers...----> 右键点击虚拟用户,在弹出的菜单中打开“show Vuser log” 可以看到每个用户使用的IP是不同的。
当然,还有另一种查看日志的方式:
菜单栏:Results ---> Results Settings...
C:\Users\Administrator\AppData\Local\Temp 就是你运行脚本的目录,找到log\目录下面,也可以查看日志。
遇到的错误
在运行脚本的过程中发现有不少的错误请求,于是,找开查看发现以下错误提示:“Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.”
解决方法:
1、根据错误提示,在run-time setting中的Miscellaneous项中设置“run vuser as a process”;(前面已将教怎么设置)
2、...\Program Files (x86)\HP\LoadRunner\dat\mdrv.dat
查找[lr_socks] 在后面添加“ ExtCmdLineConc=-UsingWinInet Yes ”,如下:
.............. |
3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将web page diagnostics项改为:Enable (这一招只能说眼不见心不烦),我觉得还有更好的解决办法。
IP欺骗的理解误区
理解误区:
1、和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP。)
2、在上一个错误基础上,对于同一个脚本,创建多个Vuser执行组,然后以不同IP选择同一个物理Generator来执行。( 实际上,在场景中除非需要在这个Generator上运行多个不同脚本,否则没有必要多次以不同IP选择。)
其实只要记住两个要素即可使用这个功能:
1、 用IP wizard 添加多个IP;
2、在Controller中通过Enable IP Spoofing。
而在使用IP欺骗功能上应该注意三点:
1、虚拟IP是同一个Generator上的多个IP,这种分配过程由Controller自动来进行;
2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复的现象,否则将随机分配不同的IP。
3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次。