一、为什么要设置IP欺骗

1、 当某个IP的訪问过于频繁,或者訪问量过大时,server会拒绝訪问请求。这时候通过IP欺骗能够添加訪问频率和訪问量,以达到压力測试的效果。

2、 某些server配置了负载均衡,使用同一个IP不能測出系统的实际性能。

LR中的IP欺骗通过调用不同的IP,可非常大程度上的模拟实际使用中多IP訪问和測试server均衡处理的能力。

二、IP欺骗设置方法

l 在配置前首先要确定本地IP是固定的,不能是自己主动获取的

l 所加入的IP仅仅能是局域网内的网段,即仅仅能加入192段。172段。10段的IP地址

l IP Spoofer 在连接 Load Generators 之前启用

打开開始菜单中的LoadRunner目录下的Tools目录,点击IP Wizard:

第一次执行IP Wizard须要选择第一项“Create new settings”,假设曾经执行过,能够选择第二项,选择保存好的文件;第三项用于使用IP欺骗进行測试完毕后,释放IP的。(由于该操作会占用大量的IP资源,可能会导致其它机器没有IP可用的尴尬局面,使用该项,能够恢复到原来的状况)。

这里选择第一项,“下一步”,出现IP Wizard的第二个窗体:

这里输入Web Server的IP地址(这里输入应用程序所在的server的IP地址,IP Wizard将会检查server路由表是否须要更新,假设须要更新的话,将会产生对应的脚本帮助你来更新server路由表,假设server和client在同一网段。这个IP能够不填)。

然后“下一步”,出现向导的第三个窗体:

从“From IP”文本框中输入要使用IP范围的第一个IP值,然后在“Numbers to Add”输入一个数字,表示IP范围的值;“Submask”使用默认情况。取决于使用的那种类型的网络IP,一般局域网内採用Class C就可以。



建议此处选择Save as 保存IP。保存IP列表后。下次使用时。能够直接导入IP列表。也能够直接改动保存的IP列表文件,再导入。

设置完毕后,又一次启动计算机。

重新启动后,在命令行输入ipconfig查看IP:

三.在场景中使用IP欺骗

1.勾选“Scenario”–“Enable IP spoofer”;

2.勾选“Tools”—“Export Mode”。

3.“Tools”—“Options”—“General”

Multiple IP address mode选择“IP address allocation per process”

这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP測试时须要选中线程方式,使用负载生成器使用虚拟IP測试时须要选中进程方式。

4.“Diagnositics”—“Configuration”

“Web Page Diagnostics”设置为Disable.

四、验证是否生效

方法一:

在脚本中加入例如以下代码:

char *ip = lr_get_vuser_ip();

if (ip)

lr_output_message(“The IP address is %s”, ip);

else

lr_output_message(“IP spoofing disabled”);

注:这个在generator中是不生效的。所以在回放代码时看到的都是“IP spoofing disabled”.在Controller中设置了启用IP欺骗后,日志中就能够看到。例如以下图:

方法二:

Controller的执行页,执行场景。在Vusers中,状态列中右键能够查看Vuser日志。弹出的提示框头几行就有显示当前使用的IP.

五. 释放IP

打开開始菜单中的LoadRunner目录下的Tools目录,点击IP Wizard:

选中第三项:

重新启动计算机就可以。

六、使用中遇到的问题

1. 启用IP欺骗后,执行1个虚拟用户的场景都失败;不启用IP欺骗后,执行场景通过。

原因:查看失败的虚拟用户使用的IP地址,在server端通过ping等命令查看网络是否互通;假设serverping不通虚拟ip,说明网络设置有问题,检查网络设置。

  1. 执行開始菜单下的IP-Wizard。提示下面错误:

原因:假设IP设置为“自己主动获取”。在执行IP Wizard程序时会弹出错误提示;执行IP Wizard的机器必须使用固定的IP,不能使用动态的IP.

3.加入IP欺骗后使用的IP,会有提示框提示保存IP列表,确定,取消等button,建议保存IP列表再确定完毕。

原因:保存IP列表后,下次使用时,能够直接导入IP列表;也能够直接改动保存的IP列表文件,再导入。

4.加入IP欺骗和释放IP,都要重新启动机器后才会生效

原因:重新启动后,网络配置才会生效。

5.执行场景时,报错“Error… Failed to connect to load generator.Check the output windows for more details”

解决:手工启动agent服务。

6.执行场景报错“Action.c(30):Error: Socket descriptor not found. Hint:the problem might be solved applying the following:(1) Update Run-Time Settings to Run Vusers as a process.(2)Add the following line into mdrv.exe,[lr_socks] section:’ ExtCmdLineConc=-UsingWinInet Yes’”

解决方法:

a.依据错误提示。在Run-time Settings中的“Miscellaneous”项中设置“run vuser as a process”;在安装目录中的dat目录中查找mdrv.dat,找到[lr_socks]段。在最后加入“ExtCmdLineConc=-UsingWinInet Yes”一句。

b.在选择了expert mode后,选择option-general,选中“ip address allocation per process”

c.假设仍然报错。在菜单条中点击Diagnostics—configuration项。将web page diagnositics项的disable去掉(该路径是在lr11中的位置。若是lr8.0,则在Diagnositics—Distribution,disable Web page Disagnositics选 项).

Loadrunner IP欺骗的更多相关文章

  1. 【Loadrunner】初学Loadrunner——IP欺骗

    因为在默认情况下,同一个用户用同一个IP访问运行是不符合实际情况的,而且很多网站会自动屏蔽同个IP多次重复访问.那么就想到了Loadrunner的虚拟IP技术,也就是常说的IP欺骗.在用Loadrun ...

  2. LoadRunner IP欺骗(转)

    直接转了篇运用LR来实现IP欺骗的文章. http://www.cnblogs.com/fnng/archive/2013/03/02/2940284.html

  3. LoadRunner IP欺骗使用

  4. 转 LoadRunner 技巧之 IP欺骗 (推荐)

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

  5. 使用IP欺骗Loadrunner并发测试小结

    测试要求:   在本次测试中,我需要并发50个User,每一个User占用一个独立的IP,并且只执行一次脚本.脚本中发起两个请求,其中第一次请求返回200后才执行第二个请求.使用win7 OS.   ...

  6. LoadRunner学习知多少--IP欺骗使用

    使用IP欺骗功能时,需要将系统防火墙,杀毒软件关闭(如果有影响的话) 一.为什么要设置IP欺骗 1. 当某个IP的访问过于频繁,或者访问量过大时,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频 ...

  7. LoadRunner 技巧之 IP欺骗 (推荐)

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量, ...

  8. LoadRunner中的IP欺骗的设置以及误区

    LoadRunner中的IP欺骗的设置以及误区 最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹. 一. 什么是IP欺骗? 做什么事首先要问个为什么, ...

  9. LoadRunner中的IP欺骗

    应用程序服务器和网络设备使用IP地址来识别客户端.应用程序服务器通常会对来自同一计算机的客户端信息进行高速缓存. 网络路由器尝试对原信息和目标信息进行高速缓存以优化吞吐量.如果多个用户具有相同的IP地 ...

随机推荐

  1. Python全栈工程师之html学习笔记

    https://www.bilibili.com/video/av15241731 笔记来源:黑马程序员 HTML(Hyper Text Markup Language):超文本标签语言 HTML标签 ...

  2. CentOS下配置LVM和RAID

    1.CentOS配置LVM http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html http://ww ...

  3. Django中的csrf相关装饰器

    切记:  这俩个装饰器不能直接加在类中函数的上方 (CBV方式) csrf_exempt除了,csrf_protect受保护的   from django.views import Viewfrom ...

  4. nodejs 如何发送一个带JSON的GET请求?

    GET /megacorp/employee/_search { "aggs" : { "all_interests" : { "terms" ...

  5. 九度oj 1547

    题目描述: 给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈. 要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为 ...

  6. 九度oj 题目1367:二叉搜索树的后序遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 输入: 每个测试案例包括2行: 第一行为1个整数 ...

  7. 利用ps,grep,kill联合杀掉相关进程

    #!/bin/sh . "./set-server-env.sh" 这里是输出ps -ef |grep java 结果的第二列的内容然后通过xargs传递给kill -9,其实第二 ...

  8. iOS代理转移

    在控制器里面想调用一个视图的子视图的代理方法很简单 1.找到子视图的协议和代理属性 2.给你想调用的控件添加代理属性,遵守的协议和子视图的一样 3.重写代理属性的set方法

  9. uva 10692 高次幂取模

    Huge Mod Input: standard input Output: standard output Time Limit: 1 second The operator for exponen ...

  10. 无记录时显示gridview表头,并增加一行显示“没有记录”【绑定SqlDataSource控件时】

    原文发布时间为:2008-08-04 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...