loaderrunner设置虚拟IP

一、设置虚拟IP地址

首先,load Generator机器必须使用固定的IP,不能使用动态IP

确定网络中不冲突的IP地址

打开:开始-〉程序-〉loadrunner-〉tools-〉ip wizard,如图

 

说明:增加新IP选择第一项;使用保存的文件增加IP选择第二项;释放已经设置的IP选择第三项。

点“下一步”,如图

 

此步让输入web server的IP地址(尚不清楚有何意义),不输入,直接点‘下一步’,如图:

 

说明:使用remove按钮可以删除选定的虚拟IP。   

点add按钮,如图:

 

说明:‘检查新IP是否已经存在’选项并没有起作用;根据输入的IP的第一个值和数量,自动添加到虚拟IP列表中,例如:192.168.67.140 4,则增加的虚拟IP是:192.168.67.140、192.168.67.141、 192.168.67.142、192.168.67.143。

点ok按钮,如图:    

 

点“完成”按钮,如图:      

 

说明:使用Save as…可以将本次增加的IP保存成.ips文件,下次再使用时就可以直接选择此文件了。

     点‘OK’按钮即可。

现在需要重启计算机。

(重新启动计算机后,设置的虚拟IP都生效了,此时使用ping会发现都能ping通,并且本机的IP也被改成了第一个虚拟IP地址。确认虚拟IP是否都生效的方法:在运行中输入cmd,在命令窗口录入ipconfig/all,然后就能看到已经生效的所有IP。)

 

二、使用虚拟IP(以手动方案为例)

在controller中,选择Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。

按Load Generators按钮,设置虚拟用户生成器,将其某一个IP添加进去,并连通。 

 

第二步,设计场景:        有两种方案来设计场景        1、本地使用虚拟IP设计场景(不带负载生成器使用localhost进行测试)      

  在设置该类场景时,在场景中添加一个录制好的脚本,该脚本中添加如下代码便可看到虚拟用户在使用哪个IP地址进行消息发送,该场景是通过线程方式进行性能测试。        char * ip;  

 ip=lr_get_vuser_ip();

if (ip)       

{ lr_vuser_status_message("The ip address is %s",ip);        }       

else   

lr_vuser_status_message("IP spoofing disabled");

如果出现语法错误,将变量申明char *ip放在脚本页面端(在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息)

2、负载生成器使用虚拟IP设计场景

在设置该类场景时,需要添加负载生成器,建立负载生成器时输入创建的虚拟IP,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试

 如何添加负载生成器创建场景在这里就不多描述了.

但需要注意,选中Tools下的Expert mode,启动专家模式.

再点击Tools下的options。

在Genearl选项卡中设置已线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用localhost测试时需要选中线程方式,使用负载生成器测试时需要选中进程方式.运行方案。  

问题:

所设定的ip已经启动 ,如果在应用中若出现错误:

Action.c(30): 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、在安装目录的dat文件夹中查找mdrv.dat,找到[lr_socks]段,在最后添加“ExtCmdLineConc=-UsingWinInet Yes”一句; 3、在选择了expert mode后,选择option->general,选中“ip address allocation per process”;

 3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将web page diagnostics项disable掉(该路径是在loadrunner11中的位置,若是loadrunner8.0,则在Diagnostics--->Distribution,disable Web Page Diagnostics选项)

三、使用虚拟IP测试完成后

    打开IP Wizard,点击Remove,释放所有虚拟IP。 

 

四、LoadRunner IP欺骗功能的误区

常见的误区有以下2点:

1、和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP。)

2、在上一个错误基础上,对于同一个脚本,创建多个Vuser执行组,然后以不同IP选择同一个物理Generator来执行。(实际上,在场景中除非需要在这个Generator上运行多个不同脚本,否则没有必要多次以不同IP选择。)

 其实只要记住两个要素即可使用这个功能:

 1、用IP wizard 添加多个IP;

 2、在Controller中通过Enable IP Spoofer。

而在使用IP欺骗功能上应该注意三点:

1、虚拟IP是同一个Generator上的多个IP,这种分配过程由Controller自动来进行;

   2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复的现象,否则将随机分配不同的IP。

3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次。

posted @ 2017-03-20 16:25  cappuccino_milk  阅读(637)  评论(0编辑  收藏  举报