logo资料库

LR的IP欺骗功能使用及经验总结.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
当运行场景时,虚拟用户使用它们所在的 Load Generator 的固定的 IP 地址。同时每个 Load Generator 上运行大量的虚拟用户,这样就造成了大量的用户使用同一 IP 同时访问一个 网站的情况,这种情况和实际运行的情况不符,并且有一些网站会根据用户 IP 来分配资源, 这些网站会限制同一个 IP 的登陆,使用等等。为了更加真实的模拟实际情况,LoadRunner 允许运行的虚拟用户使用不同的 IP 访问统一网站,这种技术称为“IP 欺骗” 。 启用该选项后,场景中运行的虚拟用户将模拟从不同的 IP 地址发送请求。该选项非常 的有用。注意:IP Spoofer 在连接 Load Generators 之前启用。 要使用 IP 欺骗,各个 Load Generator 机器必须使用固定的 IP,不能使用动态 IP(即 DHCP) 使用 IP Spoofer 的步骤如下: 1. 使用 IP Wizard:在“开始”菜单程序中,找到 LoadRunner——Tools——IP Wizard, 运行它 注意:运行 IP Wizard 程序的机器必须使用固定的 IP,不能使用动态 IP. 第一次运行 IP Wizard 需要选择第一项“Create new settings”,如果以前运行过,可 以选择第二项“Load previous settings from file”,选择保存好的文件;第三项用于使用 IP 欺骗进行测试完成后,释放 IP 的过程(因为该机会占用大量的 IP 资源,可能会导 致其他机器没有 IP 可用的尴尬局面,使用该项,可以恢复到原来的状况) 。 这里选择第一项,“Next”,出现 IP Wizard 的第二个窗口` 这里输入 Web Server 的 IP 地址(这里输入应用程序所在的服务器的 IP 地址,IP Wizard 将会检查服务器路 由表是否需要更新,如果需要更新的话,将会产生相应的脚本帮助你来更新服务器路由表,如果服务器和客户端在同一 个网段,这个 IP 可以不填。),然后 Next,出现向导的第三个窗口。 从“From IP”文本框中输入要使用 IP 范围的第一个 IP 值,然后在“Numbers to Add” 输入一个数字,表示 IP 范围的值;假如第一个 IP 为 192.168.6.100,范围大小为 100, 那么 IP Wizard 将会使用 192.168.6.N(100<=N<200) ,当然这个范围内已经使用的 IP 地址除外,否则会引起 IP 冲突。 “Submask”采用默认情况即可,取决于使用的那种类 型的网络 IP,一般局域网内采用 Class C 即可。 然后“OK” ,然后 IP Wizard 开始检查该范围内没有使用的 IP,并把没有使用的 IP 添加到本机的 IP 窗口中。到最后一个窗口,直接点“Finish” , 使用 IP Wizard 后,最后重新启动机器。 2. 在 Controller 的场景中,启用 IP Spoofer 即可。启用方法很简单(Scenario-->Enable IP Spoofer)。 在使用过程中要注意的几个方面: 1、本地的 IP 不能设置为“自动获取”,必须指定一个静态 IP; 原因:如果设置为“自动获取”,在运行 IP Wizard 时会弹出错误提示;
提示信息为:IP 向导不支持启用 DHCP 的网卡。您的卡启用了 DHCP 或者配置了无效设置。请与系统管理员联 系。 2、添加 IP 欺骗使用的 IP 后,会有提示框提示保存 IP 列表,确定,取消等按钮;建议保存 IP 列表后再确定完成; 原因:保存 IP 列表后,下次使用时,可以直接导入 IP 列表;也可以直接修改保存的 IP 列表文件,再导入; 3、添加 IP 欺骗,和释放 IP,都要重启机器后才会生效; 原因:重启后,网络配置才会生效; 4、在 controller 中使用 ip 欺骗的注意事项; (1)勾选“场景”->“启用 IP 欺骗器”; (2)勾选“工具”->“专家模式”; (3)“工具”->“选项”->“常规”->“多个 IP 地址模式”; 这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟 IP 测试时需要选中线程方式,使用负载生成器使用 虚拟 IP 测试时需要选中进程方式 5、设置 IP 欺骗后,验证其是否生效; 有两种方法查看: (1)可用如下代码段来查看: char *ip = lr_get_vuser_ip(); if (ip) lr_output_message("The IP address is %s", ip); else lr_output_message("IP spoofing disabled"); 注意:如果把上面这一段加入代码中间,第一句要修改下: char *ip;(这句放在函数起始部位,对变量 ip 进行声明) ip=lr_get_vuser_ip();(这个和后面的 if-else 语句一起放在要输出的地方) 另:这个在 generator 中是不生效的,所以在回放代码时看到的都是"IP spoofing disabled"。在 contorller 中设置了启用 IP 欺骗,日志中就可以看到; (2)controller 的运行页,运行完场景后,在通过、失败的虚拟用户处,右键可显示 VUser 日志; 弹出的提示框头几行就有显示当前使用的 IP; 6、使用 IP 欺骗过程中,会有出现下述问题: 启用 IP 欺骗后,运行 1 个虚拟用户的场景都失败;不启用 IP 欺骗后,运行场景通过; 原因:查看失败的虚拟用户,使用的 IP 地址(查看方法可使用第 5 点中的方法),在服务器端通过 ping 等命令查看网络 是否互通;如果服务器 ping 不通虚拟 IP,说明网络设置有问题,检查网络设置。 2 设置 IP 欺骗的原因:(这部分我还是不能很好的理解) 1、当某个 IP 的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过 IP 欺骗可以增加访问频 率和访问量,以达压力测试的效果 2、某些服务器配置了负载均衡,使用同一个 IP 不能测出系统的实际性能。LR 中的 IP 欺骗通过调用不同的 IP,可 很大程度上的模拟实际使用中多 IP 访问和并测试服务器均衡处理的能力。
多个 IP 地址的设置: 可直接在本地连接中增加 IP,或者通过 LR 自带的工具“IP wizard”设置,当然也可以使用其它软件设置,唯 一需要注意的就是注意设置的 IP 的有效性,我在此次测试中使用了 IP wizard,具体操作如下: (首先,需要注意的是 load Generator 机器必须使用固定的 IP,不能使用动态 IP) 1、开始——程序——lr——tools——IP wizard,此时会打开如下窗口: 三个单选按钮:选择第一个,新增 ip;选择第二个从保存好的文件中获得 ip;选择第三个表示释放所有 添加的 ip(我选择了第一个) 2、next 到如下窗口: 此时需要输入,你将要测试的 web 服务器的 ip,必须正确输入,否则即便是新生成的 ip(负载机器)联接 通过,run 时依然出错。 3、填写好后,next 到如下窗口:
该窗口中可以添加或者删除 ip 4、Add 到以下窗口: 关键是在 from ip 栏输入要产生虚拟 ip 的起始值、需要的虚拟 ip 数量 5、点击 OK 成功添加了所需要的 ip,如果有 ip 已经被占用,会有提示 6、finish:
上面会显示本次增加的 ip,选择 save as 可以将本次增加的 ip 保存成文件,下次直接使用就可以,OK 即可 7、重器计算机才可生效。重启后可以用 ping 和 ipconfig 来检查新添加的 ip 是否成功 在 controller 中的应用: 1、在 conreoller 中,Scenario——选 Enable ip spoofer(允许使用 ip 欺骗) 2、conreoller 中,tools——选 expert mode 3、tools——options——General 中关于线程还是进程的设置必须和 run-time settings 里面的一致,否则 IP 欺骗失 效 4、点 Generators——Add 所有新添加的 IP——每个都去 connect 到 Ready 状态 如果连接成功,任务栏上会有如图显示: 5、添加脚本,Vusers 数量,设置场景,run 注:1、联接新添加 IP 之前,必须开启 lr Agent Process,否则失败 2、如果 run 时候报网络方面错,可以查看防火墙之类的东西,比如关闭卡巴斯基等,此次测试就是因为卡巴 斯基的缘故 run 全部 failed
分享到:
收藏