LR IP欺骗

 

一、设置IP欺骗的原因:

  1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达压力测试的效果

  2、某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。

多个IP地址的设置:

    可直接在本地连接中增加IP,或者通过LR自带的工具“IP wizard”设置,当然也可以使用其它软件设置,唯一需要注意的就是注意设置的IP的有效性(IP本身需要同服务器ping通,随意设置的很可能不生效)。需要注意的是load Generator机器必须使用固定的IP,不能使用动态IP。

 

二、IP欺骗设置方法

  • 在配置前首先要确定本地IP是固定的,不能是自动获取的
  • 所添加的IP只能是局域网内的网段,即只能添加192段,127段,10段的IP地址
  • IP Spoofer 在连接 Load Generators 之前启用

 

“IP wizard”设置,按页面步骤依次操作就可以了。

需要注意的是:

1、压力机本身的IP必须要加在里边,且这个IP千万不要删除。一旦误删除,远程机器立刻就会断开,连接不上了。

2、工具默认的所有虚拟IP(如192.168.10.xx)与压力机本身的IP(192.168.12.15),使用的是压力机所使用的网关(192.168.12.1)。

3、配置完成后,需要重启机器或网络设置使之生效。用ipconfig命令看一下是否已配置成功。

 

三、在controller中的应用

基本操作:

1、在conreoller中,Scenario——选Enable ip spoofer(允许使用ip欺骗)

2、conreoller中,tools——选expert mode

3、tools——options——General中关于线程还是进程的设置必须和run-time settings里面的一致,否则IP欺骗失效

  

有两种方案来设计场景

a、 本地使用虚拟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");

在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息

 

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

在设置该类场景时,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试。

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

再点击Tools下的options,在Genearl选项卡中设置已线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式

 

注:

1、连接新添加IP之前,必须开启lr Agent Process,否则失败

2、如果run时候报网络方面错,可以查看防火墙之类的东西,比如关闭卡巴斯基等,此次测试就是因为卡巴斯基的缘故run全部failed    

3、要虚拟很多IP的情况:在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。 ------未实现过。

 

常用的还是:虚拟IP与压力机本身是同网段的,至于与服务器是不是同一网段要看具体情况,当然三者最好还是同一网段最好。

 

 

 

 

参考链接

http://blog.csdn.net/lsf901/article/details/11564385

http://jingyan.baidu.com/article/27fa7326f87c9a46f8271fbb.html

http://starpoint.blog.51cto.com/968349/1406996

http://www.51testing.com/html/18/631118-853916.html

 

posted @ 2017-09-13 13:56  milkty  阅读(883)  评论(0编辑  收藏  举报