IP欺骗也是也loadrunner自带的一个非常有用的功能。

需要使用ip欺骗的原因
1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。
2、某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。
3、有一些网站会限制同一个用户同一个IP 的登陆。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不 同的IP 访问同一网站。

IP欺骗的设置方式

打开HP LoadRunner ---->Tools ---->IP Wizard

什么情况?!我们需要为自己的电脑配置固定的IP ,配置固定IP的方式,你懂的!

下面进入正式的配置过程:

第一步:

create new setting  创建新的设置

  当第一次使用IP欺骗或已经释放了添加的IP时,就需要选择这一项创建新有设置。

Load previous settings fro  读取IP列表文件

  从以前设置的IP地址列表中读取IP地址

Restore original setting  释放已经设置的IP

  释放已经添加的IP 地址。

选择默认选中项:create new setting (创建新的设置) ,点击“下一步”

第二步:

让输入服务器的IP地址,Loadrunner通过该地址更新路由表。

  客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。

  如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。

这里可以不做任何添加,点击“下一步”。

第三步:

默认显示本机的IP 地址,当然,我们还需要添加更多的IP 。点击“Add”进入IP添加页面。

第四步:

Class C、Class B、Class A 表示,我们要使用是的A类、B类还是C类IP地址。don't use any of these 不要使用任何,它会把默认的IP与子网掩码清空。

(C类最多只能模拟255 个IP,如果你的需要更多,那么就需要使用A 类或B类)

from ip 输入框中输入起始ip

Number to  输入框中输入ip地址的个数,也就是说我们需要成多少个用于欺骗的IP

(我上面的配置是从110开始,按顺序生成5个)

Submask根据IP类型输入正确的子网掩码

选中“verify that new ip addresses are not already used”,点击“OK”。

此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出。点击“完成”

第五步:

  

点击“save as”按钮,可以将我们设置的IP 保存成一个文件,以后再设置的时候,是在第一步里,我们可以选择第二个选项(Load previous settings fro),从文件导入IP 。

点击“ok”,IP Wizard开始帮我们成成IP 。

在命令提示符号输入ipconfig命令验证:

第六步:

打开loadrunner ---> Controller ,选择Scenario--->Enable IP Spoofer  ,此项打勾后表示允许使用IP欺骗。

创建测试脚本(IP欺骗)

经过上面的配置,你真的已经知道如何使用IP欺骗了么?或者你真的理解了IP欺骗?如何证明你已经使用了IP欺骗?

Action()
{
//验证IP欺骗代码
char * ip ;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("当前虚拟用户使用的IP为: %s", ip);
else
lr_output_message("[enable IP spoofing ]选项没有被启用!"); lr_start_transaction("百度首页"); //设置事务开始 web_url("www.baidu.com",
"URL=http://www.baidu.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t3.inf",
"Mode=HTML",
EXTRARES,
"Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM,
"Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM,
"Url=/favicon.ico", "Referer=", ENDITEM,
"Url=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1440_2031_1945_1788&t=1362056239875", ENDITEM,
"Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247256", ENDITEM,
"Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247969", ENDITEM,
"Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20%E5%8D%9A%E5%AE%A2%E5%9B%AD&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056251016", ENDITEM,
LAST); lr_end_transaction("百度首页",LR_AUTO); //设置事务结束 return 0;
}

VUGen中运行上面脚本,结果一定是:[enable IP spoofing ]选项没有被启用!

备注:为什么要在脚本里加事物,这也是loadrunner11比较蛋疼的一个问题,当我修改过action循环次数后,再用Controller 跑脚本时,Passed Transactions 为显示为0 。当然,脚本本身没有任何问题,在脚本中添加事物可以预防这个问题的发生。

OK! 别急着保存脚本导入到Controller运行。打开菜单Vuser --->run-time settings

切换到Log选项

勾选所有log,不然等一下你会纳闷,为什么只能看到第一个虚拟用户的log。

切换到Miscellaneous选项

这里选择虚拟用户是以进程还是线程的方式运行。下面你可能会遇到的问题是要对这里进行修改的。

做完这几步可以把脚本保存,导入到Controller运行。

 验证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 ”,如下:

..............
[lr_socks]
ExtPriorityType=hook
WINNT_EXT_LIBS=lr_socks.dll
WIN95_EXT_LIBS=lr_socks.dll
LINUX_EXT_LIBS=liblr_socks.so
SOLARIS_EXT_LIBS=liblr_socks.so
HPUX_EXT_LIBS=liblr_socks.sl
AIX_EXT_LIBS=liblr_socks.so
LibCfgFunc=lr_socks_configure
ExtMessageQueue=0
SecurityMode=On
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添加多次。

LoadRunner 技巧之 IP欺骗 (推荐)的更多相关文章

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

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

  2. LoadRunner 技巧之 IP欺骗

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

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

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

  4. LoadRunner中的IP欺骗

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

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

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

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

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

  7. Jmeter也能IP欺骗!

    之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做.     ip欺骗是什么?    ip ...

  8. LoadRunner使用技巧-IP欺骗的使用

    设置IP欺骗的原因         1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果. 2.某些服务器配置了负载均 ...

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

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

随机推荐

  1. DES_3DES_AES_IDES_RSA密码算法比较

    对称加密算法(也叫共享密钥) 类型 定义:发送接收使用相同的对称密钥 密钥 长度 分组长度 循环次数 安全性 DES 数据加密标准,速度较快,适用于加密大量数据的场合: 56 64 16 依赖密钥受穷 ...

  2. tf.get_variable()

    1. tf.Variable()W = tf.Variable(<initial-value>, name=<optional-name>)1用于生成一个初始值为initial ...

  3. TZOJ 4855 排座椅(贪心)

    描述 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来后,只有有限的D对同学上课时会交头接耳.同学们在教室 ...

  4. MySQL5.7.10配置和使用

    前两天搞mybatis和springmvc的结合,搞了半天项目就是跑不起来,由于都没有接触过,也不知道原因出在哪里.今天想彻底学习下mybatis,于是就想使用MySQL.从官网上下了,MySQL-5 ...

  5. 搭建事务管理转账案例的环境(强调:简化开发,以后DAO可以继承JdbcDaoSupport类)

    1. 步骤一:创建WEB工程,引入需要的jar包 * IOC的6个包 * AOP的4个包 * C3P0的1个包 * MySQL的驱动包 * JDBC目标2个包 * 整合JUnit测试包2.步骤二:创建 ...

  6. 如何定义一个高逼格的原生JS插件

    插件的需求 我们写代码,并不是所有的业务或者逻辑代码都要抽出来复用.首先,我们得看一下是否需要将一部分经常重复的代码抽象出来,写到一个单独的文件中为以后再次使用.再看一下我们的业务逻辑是否可以为团队服 ...

  7. Debian 采用 iso 镜像作为 apt 源

    1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下2.创建N个挂载点目录 如下: debian:~#mkdir –r /media/d ...

  8. 主成分_CPA

    基本原理:方差最大原理 通过正交变换将原相关性变量转化为不相关的变量 第一主成分:线性组合  方差最大 第二主成分:线性组合,COV(F1,F2)=0 步骤: 原始数据标准化:DataAdjust(m ...

  9. webapp的优化总结

    1. 最先加载本地数据,下拉刷新再取最新数据. 2. 图片延后加载.一种方法先<div data-url="xx.png"></div>,先加载一个div, ...

  10. a标签的四个伪类

    A标签的css样式   CSS为一些特殊效果准备了特定的工具,我们称之为“伪类”.其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是: :link    :v ...