Loadrunner中的IP欺骗的设置以及误区
LoadRunner脚本中的乱码问题以及解决办法
相信有不少人在使用LoadRunner的过程中都遇到过这样的问题:在录制下来的脚本的中文信息出现了乱码。
关于乱码问题,可能大家在网上也能搜到不少相关的解决办法,我在这里就不多说了,大家自己去试验一下吧,到底哪个办法有效也就只有谁用谁知道了!我这里只举一个自己遇到的实际例子来说这个问题,也许不是解决这个问题的唯一办法,但至少也是其中的一个吧。
被测系统采用Ajax技术,通过录制下来的脚本看起来像下面的样子(省略函数其它部分,下同):web_custom_request("CALL-H001I","EncType=text/xml; charset=UTF-8","BodyBinary=CALLH001I1040浣忔埧01鏆傛棤鍙风爜<PAPERGR ant organ>1110000001000000.00A110102*********#1闇嶈景榫""""x99" "10001鍘﹂棬100A1442000050031"r"n" "", LAST);从上面脚本的黑体部分可以看出,LoadRunner向服务器提交的请求body部分,输入的中文字段被变成了诸如“浣忔埧”这样的乱码。
遇到这样的情况,相信大多数人和我最开始一样,只能不加理会,直接点击回放,然后我们很高兴地发现,脚本回放成功了!这些乱码是可以被LR识别的,而且到应用系统中查看运行的结果,也没有问题,显示的是正确的中文。
但是且慢!先不要高兴得太早,我们很快就会意识到:如果这个字段我们是需要进行参数化的怎么办?我们应该如何造出这种乱码的字呢?首先,我们直接用正常的字去参数化,这里只举其中的一个例子来说明,比如这个字段,我们用参数值“汽车”直接在脚本中替换“浣忔埧”,脚本回放失败。
Loadrunner中的IP欺骗的设置以及误区
Loadrunner中的IP欺骗的设置以及误区一. 什么是IP欺骗?做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,不行,总行,来自全球的搜索结果,总会有帮助。
IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。
IP是网络层的一个非面向连接的协议,IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。
至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事。
对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。
IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。
二. 为什么要设置IP欺骗?对于某些服务器,是根据IP来分配资源,当某个IP地址访问频繁或者访问量过大时,服务器会拒绝访问,或者让你输入验证码,当然也有可能是来避免搜索引擎robot的任意爬取。
网上还有些言论是说使用更多的IP来模拟较真实的用户使用环境,来测试负载均衡技术的处理能力,但是我始终想不明白这跟那个有什么关系,如果服务器可以接受同一IP大量访问,负载均衡不照样起作用,照样可以被测试到吗?(私人观点,意见可以保留)三. 设置前的准备工作1. 要有局域网的环境,因为只能设置局域网内的网段;2. 本地的IP设置不能为“自动获取”,必须指定一个静态IP。
四. 如何设置第一步:运行Mercury LoadRunner- Tools-IP Wizard第二步:选择create new setting,点击“下一步”此时出现的页面是让输入服务器的IP地址,Loadrunner通过该地址更新路由表。
客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。
使用LoadRuner在防欺诈系统中遇到的问题及解决方法
使用LoadRuner在测试防欺诈系统中遇到的问题及解决方法问题1:Error: Exception was raised when calling event-notify Vuser function in extension parameng.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION解决方法:Exception was raised when calling event-notify Vuser function in extension parameng.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION问题2:Error:Abnormal termination, caused by mdrv process termination.解决办法:把线程改为进程;Run vusers as process instead of threads.Please go to Runtime Settings > Miscellaneous > Multithreading > RunVuser as a process.问题3:error :Two Way Communication Error: Function two_way_comm_post_message原因:共享内存缓存溢出,造成Controller和Load Generator之间通讯出现问题。
解决方案:修改两个配置文件。
1. $installation folder$\dat\channel_configure.dat2. $installation folder$\launch_service\dat\channel_configure.dat在这两个文件中的[general]部分下添加如下配置。
shared_memory_max_size=100 (修改共享内存为100MB,默认是50MB)重新启动Controller,问题解决。
LoadRunner使用说明书
Load Runner 使用说明一、组件:(一) VuGen:用于捕获最终用户业务流程和创建怎动化性能测试脚本。
1. 录制脚本:(1) 集合点Rendezvous(2) 验证点Check Point:文本验证点Text Check、图片验证点Image Check(3) 事务Transaction:事务开始Start Transaction、事务结束End Transaction(4) 注释与消息Comment & Message:/***/2. 增强并编辑Vuser脚本(1) 参数化:在Select next now中的参数:Sequential顺序、Random随机、Unique唯一在Update value on 参数:Each iteration每次迭代、Each occurrence每次出现、Once 一次(2) 从数据库中导入数据3. 配置动行时设置Runtime settings(运行时设置)(1) Number of Iterations:迭代次数(2) 在Preferences中的Enable image and text check在脚本中添加验证点时必须选中。
4. 在独立模式下运行Vuser脚本5. 集成Vuser脚本(二) Controller:用于组织、驱动、管理和监控负载测试。
1. 创建方案(1) 创建手动方案(2) 创建百分比模式方案(3) 创建面向目标的方案2. 计划方案(1) 开始时间(2) 方案运行设置:加压Ramp Up、持续时间Duration、减压Ramp Dowm3. 运行方案4. 监视方案(1) RuntimeGraphs(运行时图)A. Running Vusers运行时图:Running正在运行的Vuser总数、Ready完成脚本初始化部分、即可以运行的Vuser数、Finished结束运行的Vuser数,包括通过的和失败的、Error执行时发生的错误VuserB. Transaction Graphs事务监视图:Trans Response Time事务响应时间、Trans/Sec(Passed)每秒事务数(通过)、Trans/Sec(Failed/Stopped)每秒事务数(失败、停止)、Total Trans/Sec(Passed)每秒事务总数(通过)。
如何使用LoadRunner的IP欺骗做性能测试
如何使用LoadRunner的IP欺骗做性能测试一、使用场景在使用LoadRunner做性能测试的过程中,有时候我们会遇到这种场景,被测试的服务器对发送消息的客户端的IP有限制,服务器为了节省资源,同一时刻只允许一个IP一个连接。
而LoadRunner默认情况下都是使用同一个IP与服务器进行通讯,直接在Loadrunner 上运行多个用户则会失败。
还有两种场景,一是服务器对访问的IP做过了优化处理,对于同一个IP的客户端信息,做了缓存,以优化吞吐量。
另一个是服务器只对消息头中的IP做处理而不是消息体中的IP 做处理,这样就使消息体中的IP字段参数化失去了意义。
以上几种情况,就到了我们使用IP欺骗的时候了。
二、使用环境LoadRunner11及更早的版本的IP欺骗可以在XP或者Windows Server2008的机器上使用,无法在Win7的机器上使用。
这个可能是Win7禁用了IP欺骗。
无论怎么配置,从LoadRunner上显示的是IP欺骗功能使用正常,但抓到的IP包永远都是某个固定IP。
所以在使用IP欺骗之前,一定要先搞清楚这个操作系统版本支持不支持。
由于环境有限,目前我所知道的就是Win7不支持,XP和2008支持。
三、使用方法1.添加IP在开始菜单中打开LoadRunner目录下的IP Wizard在IP向导里选择第一项Create new setting,下一步在下面的文本框中输入服务器的IP地址,该选项为可选项,以便自动添加到服务器的路由。
如果到服务器需要经过路由器,则这一步需要添加,如果可以直达,这步可以省略。
也可以在cmd里面手工添加路由。
在下面的界面点击Add,下一步在下图中输入IP地址段,这里的ABC类地址段是为了简化输入设置的,不会做地址段校验。
需要注意的是,如果选择C类最多只能模拟255个地址,如果需要更多地址,就要选择A类或B类地址。
输入完后,向导会将要生成的IP列表展示出来,点击完成。
IP欺骗
本文以Loadrunner 9.5为例,详细描述了如何设置IP欺骗,用以在性能和压力测试中应用。
1. 本机地址设置为静态IP地址,可先ipconfig查看动态获得的IP和DNS等信息,然后手动设置成相同即可。
2. 运行Loadrunner的“IP向导”工具。
(1)选择create new setting,下一步(2)输入服务器IP地址,虚拟的IP地址以此地址作为服务器连接网络,所以此地址必须设置为可以访问待测试服务器的IP地址(3)添加IP地址,即添加虚拟IP地址,一般添加与第2步的服务器地址同在一个子网的IP即可,不用担心IP冲突,貌似Loadrunner在运行时会进行检测,不会虚拟已经存在的IP(没有详细研究,初步观察是这样)。
如果网段内IP不够用,也可添加其他网段的地址,但需要在待测服务器端设置路由。
例如,服务器地址172.31.13.113,本机(Loadrunner)地址172.31.13.85,添加虚拟地址10.0.0.1-10.0.0.200,掩码255.255.255.0,则需要在172.31.13.113使用如下命令添加路由:route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.31.13.85(4)完成,提示重启生效。
实际上无需重启,只需停用->启用“网络连接”即可。
ipconfig命令可以查看虚拟IP3.Controller设置(1)选中Scenario->Enable IP Spoofer(2)选中Tools->Expert Mode(3)第2步中选中了Expert Mode后,在Tools->Options中可以看到General标签,此处的Multiple IP Address Mode的设置必须和脚本的Run-time settings->Miscellaneous->Multithreading保持一致,即同为process或同为thread4.现在已经可以使用虚拟IP进行性能测试了。
loadrunner学习入门到精通性能测试名词解释(一)
第一课软件性能测试的基本概念引言:亲爱的同学们,欢迎你们来到性能测试教堂,这里将是带领你进入性能测试领域的一个开端。
也许你是满怀欣喜和希望,但我想告诉你,这里也许不如你想想的那么美好,也不会有你想想的那么迷茫,只要你有这个执着的心,能够静心凝神的去关注,去思考,去进取,你的梦想,将不在是梦想,一切皆有可能。
也许有哪一天,你也可以在开发面前自豪的说,我们并不是你们所指的就会在页面上指指点点的,没有一点技术含量的小无知了。
说了这么多了,就不废话了,让我们赶快行动吧!开始我们的第一个章节,了解性能名词解析,为你的今后打下坚实的基础。
1.什么是软件性能?答:性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来进行度量。
2.什么是软件呈现时间和软件响应时间?答:用户直接感受到时间就是呈现时间,系统作出处理反应的时间就是响应时间。
3.软件测试人员测试性能时的关注点有哪些?答:首先考虑系统在额定用户访问的情况下状态如何?服务器的cpu使用情况是不是已经达到了最大值?是否还有可用的内存?应用服务器的状态如何?我们设置的jvm(交互式应用)可用内存是否足够?数据库的状态如何?是否需要一些调整?4.什么是并发用户,什么是集合点?答:并发用户是指一次性提交的用户数量(举一个墙面可以承受多少个皮球击打的例子)。
集合点是一个并发访问的点,设置集合点可以在客户运行到提交数据集合点时,loadrunner就会检查同时有多少用户运行到了集合点,如果不到规定的数目,就会让到了集合点的用户等待,如果都到了,可以让规定数目的用户同时提交数据,起到并发访问的目的。
5.下面说一个并发访问用户峰值的计算公式答:c=nl/t c1=c+3√c说明:c是平均的并发用户数,n是login session的数量;l是login session的平均长度;t是指考察时间段的长度。
C1是指并发用户的峰值。
loadrunner-ip欺骗设置教程_实例补充
本教程由大漠飞鹰编写,帖子名称为“LRIP欺骗设置和有效性验证”,相应的地址是:/viewthread.php?tid=74333&pid=506471&page=1&extra=page%3D3# pid506471我结合自己这几天实际测试中遇到的疑惑和相应的解决的方法对其进行举例说明和增加一些自己的补充,供大家相互学习。
颜色说明:补充内容为青绿色背景Ip欺骗的相关帖子设置IP欺骗的原因1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。
2、某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。
LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。
多IP地址的设置IP地址的设置较为简单,可直接在本地连接中增加IP,或者通过LR自带的工具“IP wizard”设置,当然也可以使用其它软件设置。
唯一需要注意的就是注意设置的IP的有效性。
“选项”中的IP设置使用“选项”对话框中的“常规”选项卡,可以选择IP地址模式。
只有在专家模式下操作 Controller 时,才显示该选项卡。
要设置常规专家模式设置,请执行下列操作:1.选择“工具”>“选项”。
将显示“选项”对话框。
选择“常规”选项卡。
2.选择多个 IP 地址模式。
需要注意的是,这里的IP地址模式和运行时设置中的常规设置的不同,会导致IP欺骗失效。
具体该怎么设置,这里就不讲了,很简单的东西。
启用IP欺骗从Controller 启用多个IP 地址定义多个 IP 地址后,您就可以设置一个选项,让 Controller 使用该功能。
要从 Controller 启用多个 IP 地址,请执行下列操作:在 Controller“设计”视图中,选择“场景”>“启用 IP 欺骗器”。
注意:必须在连接到负载生成器之前选择该选项。
自己整理的LoadRunner常见问题以及解决办法
1.LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。
因此建议运行LoadRunner得主机上保持一个干净的测试环境。
2.录制Web脚本时,生成的脚本中存在乱码该如何解决?录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。
再次录制,就不会出现中文乱码问题了。
3.HTML-based script与URL-based script的脚本有什么区别?使用“HTML-based scr ipt”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。
4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行?由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。
要想开启检查功能,必须修改运行时的配置Run-time Setting。
Loadrunner出错及处理
http://localhost:2080/mercuryWebTours/Loadrunner出错及处理出错:Could not open http port 1080-port is already used by another server(WSAEADDRINUSE) 找到xitami.cfg,将protbase=1000改为2000。
C:\Program Files\Mercury Interactive\Mercury LoadRunner\WebTours\xitami.cfgloadrunner录制过程中常见问题上一篇/ 下一篇 2011-08-02 10:01:27 / 个人分类:loadrunner查看( 324 ) / 评论( 1 ) / 评分( 5 / )1.LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。
因此建议运行LoadRunner得主机上保持一个干净的测试环境。
2.录制Web脚本时,生成的脚本中存在乱码该如何解决?录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。
再次录制,就不会出现中文乱码问题了。
3.HTML-based script与URL-based script的脚本有什么区别?使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
IP欺骗
默认情况下,当执行场景时,各虚拟用户使用它们所在的Load Generator 的固定的IP 地址,这样就造成大量的用户使用同一IP 同时访问一个网站的情况,这种情况和实际情况不符,而且有些网站会根据用户IP 来分配资源,有些网站会限制同一个IP 的重复登录。
为了更加真实地模拟现实的情况,LoadRunner允许运行的虚拟用户使用“IP 欺骗”(IP Spoofer)来使用不同的IP 访问同一个网站。
启用IP欺骗后,场景中运行的虚拟用户将模拟从不同的IP 地址发送请求。
下面简要介绍在LoadRunner中使用IP欺骗的方法:(1)设置虚拟IP地址首先,Load Generator机器必须使用固定的IP,不能使用动态IP。
打开:开始->程序->HP Loadrunner->tools->Ip wizard,如图所示:增加新IP选择第一项,使用保存的文件增加IP选择第二项,释放已经设置的IP选择第三项。
点“下一步”,出现如图所示的界面:这里输入服务器的IP地址,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设置,然后需要重启计算机。
重新启动计算机后,设置的虚拟IP都生效了,此时使用ping命令会发现都能ping通。
确认虚拟IP是否都生效的方法是:在运行中输入cmd,在命令窗口录入ipconfig/all,然后就能看到已经生效的所有IP。
loadrunner设置IP
注:该测试过程针对虚拟IP地址情况。
1、一台PC机上创建15个虚拟的IP地址。
首先,启动IP Wizard,如下:开始程序->Loadrunner->Tools->IP Wizard
点击“Add”,添加你计划虚拟的IP地址。
但是注意不能添加已经被占用的IP地址。
2、启动Virtual User Generator,并录制脚本,由于50个用户的账号和密码各不相同,所以,要修改脚本,设置参数。
我是录制了一个脚本,复制了49份,在每个脚本中手工修改了各自不同的地方。
3、启动Loadrunner Controller,先将刚才保存的脚本添加进来。
然后点击“Scenario”菜单,激活其中的“Enable IP Spoofer”。
4、点击屏幕右方的“Generators”,添加已经建立的IP,然后connect建立连接。
5、对连接起来的不同用户(IP地址)分配不同的脚本,在Controller中的“design”中,点击“Load Generators”其中,每个脚本有一个用户执行。
6、执行Scenario。
LoadRunner录制及回放常见问题
目录LoadRunner常见问题及其解决方案 (2)一、录制脚本常见问题 (2)1、LoadRunner录制脚本时为什么不弹出IE浏览器? (2)2、录制Web脚本时,生成的脚本中存在乱码该如何解决? (3)3、HTML-based script与URL-based script的脚本有什么区别? (4)4、为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行? (4)5、运行时的Pacing设置主要影响什么? (5)6、运行时设置Log标签中,如果没有勾选“Enable logging”,则手工消息可以发送吗? (5)7、LoadRunner 8.0版本的VuGen在录制Web Services协议的脚本时一切正常,而回放时报出错误提示“Error:server returned an incorrectly formatted SOAP response”。
这时说明原因引起的? (6)8、VuGen支持Netscape的客户证书吗? (6)9、VuGen会修改录制浏览器中的代理服务器设置吗? (6)10、在LoadRunner脚本如何输出当前系统时间? (6)11、一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。
为什么从第二次迭代开始发生错误? (7)12、虚拟客户脚本“Run-time Setting”中的线程和进程运行方式的区别? (7)13、在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题? (8)14、为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去? (8)16、Loadrunner不支持默认的浏览器 (9)17、脚本回放时报错Extension lrwreplaymain.dll is not loaded. System error (9)LoadRunner常见问题及其解决方案一、录制脚本常见问题1、LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
loadrunnerlr_get_vuser_ip,
loadrunner:lr_get_vuser_ip, ip欺骗[2006年11月10日]这里所讲的是如何做IP欺骗,及如何打印出来.①Vuser里录制脚本如下(放在action):#include "as_web.h"Action(){char *ip = lr_get_vuser_ip();if (ip)lr_output_message("The IP address is %s", ip);elselr_output_message("IP spoofing disabled");web_add_cookie("PREF=ID=548af3d18c614601:NW=1:TM=1160463942:LM=1160463942:S=ceb zzN_c-pR568K0; DOMAIN=");web_url("","URL=/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t1.inf","Mode=HTML",EXTRARES,"Url=/intl/zh-CN_ALL/images/logo.gif","Referer=/intl/zh-CN/", ENDITEM,LAST);lr_think_time( 5 );web_url("search","URL=/search?q=Sweetheart&hl=zh-CN&lr=&nxpt=20.47207867089 0172443801","Resource=0","RecContentType=text/html","Referer=/intl/zh-CN/","Snapshot=t2.inf","Mode=HTML",EXTRARES,"Url=/images/nav_logo.png","Referer=/search?q=Sweetheart&hl=zh-CN&lr=&nxpt=20.4720786 70890172443801", ENDITEM,LAST);return 0;}其中:char *ip = lr_get_vuser_ip();if (ip)lr_output_message("The IP address is %s", ip);elselr_output_message("IP spoofing disabled");这段代码就是得到IP,其打印出来.必须放在录制代码前面,不然是通不过.②controller里面:不要忘了设置LOG日志开启:如图③在菜单栏里面scenario选上Enable ip spoofer④程序>>loadrunner>>工具>>ip wizard,增加IP地址.⑤进行IP欺骗之前得确保本机IP为固定,如果不是可以按CMD里面IPCONFIG/ALL里面来设置自己的IP地址.如:192.168.18.8,则ip wizard里面增加IP为:192.168.18.230-240根据自己的需要来add,最多35.进行ipconfig/all看看刚才的设置:⑥运行方案,查看日志:C:\Documents and Settings\...\Local Settings\Temp\res\log 就可以看到刚才设置的5个IP的日志文件.查看vuser里面的日志在:你保存脚本位置的地方,mdrv.log,output.txt。
loadrunner常见错误及解决方法
A、应用服务参数设置太大导致服务器的瓶颈B、页面中图片太多C、在程序处理表的时候检查字段太大或多2、Error -27728:Step download timeout (120 seconds)has expired when downloading non-resource(s)。
错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner 中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。
解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在"Runtime Setting">"Internet Protocol:Preferences">"Advanced"区域中设置一个"winlnet replay instead of sockets"选项,再回放是否成功。
3、Error -27791:Server“192.168.1.77″ has shut down the connection prematurely 解决方案如下:1、应用服务器死掉。
小用户时程序上的问题,程序上处理数据库的问题2、应用服务没有死。
应用服务参数设置问题。
例如:在许多客户端weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。
如果连接时收到connection refused消息,说明应提高该值,每次增加25%。
3、数据库的连接在应用服务的性能参数可能太小了,数据库启动的最大连接数(跟硬件的内存有关)4、有时关闭卡巴斯基也会解决如上问题1)观察response time 是否超出默认的120秒2)检查服务器日志是否有异常以及负载是否过高3)web_set_timeout 设置更长的超时超时上限如web.set_timeout(”CONNECT”, “360″);web.set_timeout(”RECEIVE”, “360″);web.set_timeout(”STEP”, “360″))观察response time 是否超出默认的120秒这个问题,要详细分析了。
软件测试学习教程——Loadrunner多机联合测试
软件测试学习教程——Loadrunner多机联合测试
Loadrunner多机联合测试
在需要的VU较多的时候,使用单台LG测试已经不再符合要求,因此Loadrunner多机联合测试成为了必然,在使用Loadrunner工具进行部署时候,除了使用多负载或者云负载外,还需要考虑,服务器端对访问ip的限制,因此启用ip欺骗成为必须的配置环节。
1、Load runner工作原理
2、IP欺骗
IP电子欺骗是一台主机设备冒充另外一台主机的IP地址,与其他设备通信,从而达到某种目的的技术。
通过Loadrunner工具IP Wizard在某PC(有固定的IP地址)上虚拟多个IP。
通过ipconfig可以查看PC上新增的虚拟IP地址:
3、场景设置
在Loadrunner的Controller中设置相应的LG(具有固定IP的PC作为LG)及相应的虚拟用户使用的LG(PC上虚拟初的IP)。
4、执行场景
执行场景的效果:
1)根据场景中加载的LG(读不同的脚本)个数调用多台PC机上的mdrv进程;
2)每个LG上生成的虚拟用户采用不同的虚拟IP;
3)所有LG的虚拟用户按照脚本的业务逻辑对被试系统进行访问,所有虚拟用户采用不同的IP,避免了被试系统由于相同网段的IP频繁访问引起的屏蔽问题。
LoadRunner错误及解决方法
LoadRunner错误及解决方法[转]分类:性能测试一、Step download timeout (120 seconds)这是一个经常会遇到的问题,解决得办法走以下步骤:1、修改run time setting中的请求超时时间,增加到600s,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000;run time setting设置完了后记住还需要在controler 组件的option的run time setting中设置相应的参数;2、办法一不能解决的情况下,解决办法如下:设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。
切记此法只对windows系统起作用。
二、问题描述Connection reset by peer这个问题不多遇见,一般是由于下载的速度慢,导致超时,所以,需要调整一下超时时间。
解决办法:Run-time setting窗口中的‘Internet Protocol’-‘Preferences’设置set advanced options(设置高级选项),重新设置一下“HTTP-request connect timeout(sec),可以稍微设大一些”;三、问题描述connection refused这个的错误的原因比较复杂,也可能很简单也可能需要查看好几个地方,解决起来不同的操作系统方式也不同;1、首先检查是不是连接weblogic服务过大部分被拒绝,需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值;2、如果方法一操作后没有变化,此时需要去查看服务器操作系统中是否对连接数做了限制,AIX下可以直接vi文件limits修改其中的连接限制数,还有tcp连接等待时间间隔大小,wiodows类似,只不过wendows修改注册表,具体修改方法查手册,注册表中有TcpDelayTime项;四、问题描述open many files问题一般都在压力较大的时候出现,由于服务器或者应用中间件本身对于打开的文件数有最大值限制造成,解决办法:1、修改操作系统的文件数限制,aix下面修改limits下的nofiles限制条件,增大或者设置为没有限制,尽量对涉及到的服务器都作修改;2、方法一解决不了情况下再去查看应用服务器weblogic的commonEnv.sh文件,修改其中的nofiles文件max-nofiles数增大,应该就可以通过了,具体就是查找到nofiles方法,修改其中else条件的执行体,把文件打开数调大;修改前记住备份此文件,防止修改出错;五、问题描述has shut down the connection prematurely一般是在访问应用服务器时出现,大用户量和小用户量均会出现;来自网上的解释:1> 应用访问死掉小用户时:程序上的问题。
ip欺骗技术
设置IP欺骗的原因:1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达压力测试的效果。
2、负载均衡,使用同一个IP不能测出系统的实际性能。
LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。
配置IP向导:首页请将IP设置成固定的IP,否则以下内容属于空谈。
步骤:1.开始->程序->LoadRunner->Tools->IP向导三个单选按钮:选择第一个,新增IP;选择第二个从保存好的文件中获得IP;选择第三个表示释放所有添加的IP(我选择了第一个)2.点击“下一步”此时需要输入,你将要测试的web服务器的ip例如:127.0.0.1,必须正确输入,否则即便是新生成的ip (负载机器)联接通过,run时依然出错。
3.填写好服务器后,点击“下一步”按钮4.点击“ADD”,弹出5.点击“OK”在controller中的应用:1、在conreoller中,Scenario——选Enable ip spoofer(允许使用ip欺骗)2、conreoller中,tools——选expert mode3、tools——options——General中关于线程还是进程和线程的设置必须和run-time settings里面的一致,否则IP欺骗失效4、点Generators——Add所有新添加的IP——每个都去connect到Ready状态如果连接成功,任务栏上会有如图显示:5、添加脚本,Vusers数量,设置场景,run注:1、电脑的IP要固定。
2、必须选中Enable IP Spoofer3、必须启动Agent Process4、IP向导配置好后,有可能LR创建脚本会死机不能用,这时释放IP,重新录制脚本就可以了。
关于IP欺骗的问题
关于IP欺骗的问题文章出处:51testing博客作者:charmer 发布时间:2006-12-08前一阵子做测试要用到IP欺骗,因为跑不通,所以就来上网找了相关的资料,但是,按步骤做是不行的! 因为说句不太好听的,有部分存在误导性的,这里就不说了,也看到了很多朋友问了相关很多发问题, 也是我在测试中遇到的, 经过查阅,LR的官方文档,已解决了,为了不让更多的朋友走弯路,特把部分我知道的问题在这里回答给大家希望给大家有所帮助,少走更多的弯路,因为我为些郁闷了快一个月,呵呵!!QUOTE:原帖由 lucky520 于 2006-2-22 23:41 发表设置多个虚拟用户,使用IP欺骗,要在Loda Generators进行所有的IP地址进行连接吗?如果1000个虚拟用户,在Loda Generators中要添加1000个IP地址吗?然后进行连接,,有快捷方式吗?QUOTE:原帖由 zhangfh 于 2005-7-7 11:35 发表有点不明白,该ip欺骗流程中使用ip时,有提到在controller中添加了5个虚拟ip地址,是否就是指有5个虚拟用户参与并发?如果真是这样的化,那么要虚拟成千上万个用户怎么办?如果load generator 用localhost,在ad …设置多个IP不要在loda generators中添加的,因只要你是固定IP,添加虚拟IP后.只接启用IP欺骗就可以,[前提是你的虚拟IP必须与服务器的IP在同一网段的.服务器和客户端具有相同的子网掩码、IP 类和网络如果不一样的话,还有其它步骤的后面再说!]QUOTE:原帖由 jian0318 于 2005-8-4 18:21 发表我现在正在学习使用Loadrunner,文章非常有用,非常感谢楼主,同时也希望能有高手能帮忙答疑解惑,谢谢了。
问题:1、是否一个并发就要建立一个虚拟IP?2、是否一个虚拟IP就要建立一个连接,那假如虚拟IP非…3、在新建虚拟IP的步骤2时,需要输入服务器IP,是否是确认测试的CPU、内存等性能指标是服务器的呢?这个我回答第三个,输入的IP就是要测试的IP地址,你输入IP以后,在所有的IP完成前,你会在你的临时目录TEMP里生成两个文件,一个是用于UNIX的SH后缀的,一个是用于WINDOWS的BAT后缀的文件,你手动修改后用于做服务的路由更新,,个人观点:我用LR生成的UNIX的文件我在我们公司的机子{LINUX}上没有运行起来,不过你可以手动更新,这里的问题也是很多朋友遇到运行脚本时超时的原因吧[非同一网段]!因为我不手动更新服务器路由表的话,跟本跑不通LR,QUOTE:原帖由惜缘于 2005-8-15 11:42 发表设置多个虚拟用户,使用IP欺骗,在Loda Generators进行所有的IP地址进行连接,如果1000个虚拟用户,在Loda Generators中要添加1000个IP地址吗?然后进行连接,难道把1000个IP地址一个一个添加在Loda Generators中吗…只要启动IP欺骗就可以,不要手工添加的,如果我们增加的同一网段的,就不要说什么了,一定很顺利的跑下去了,,呵呵!当我们要很多IP时呢!就要用到不同网段的了!所以有时我们多看看LR的文档也是没有坏处的,要仔细的看,一定会有解决问题的关键,更新路由表QUOTE:文档上的东东客户端计算机有了新的 IP 地址以后,服务器需要将该地址添加到路由表,以识别返回到客户端的路由。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Loadrunner中的IP欺骗的设置以及误区
最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹。
一. 什么是IP欺骗?
做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到, 不行,总行,来自全球的搜索结果,总会有帮助。
IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。
IP是网络层的一个非面向连接的协议,IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP 的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。
至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事。
对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。
IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。
二. 为什么要设置IP欺骗?
对于某些服务器,是根据IP来分配资源,当某个IP地址访问频繁或者访问量过大时,服务器会拒绝访问,或者让你输
入验证码,当然也有可能是来避免搜索引擎robot的任意爬取。
网上还有些言论是说使用更多的IP来模拟较真实的用户使用环境,来测试负载均衡技术的处理能力,但是我始终想不明白这跟那个有什么关系,如果服务器可以接受同一IP大量访问,负载均衡不照样起作用,照样可以被测试到吗?(私人观点,意见可以保留)
三. 设置前的准备工作
1. 要有局域网的环境,因为只能设置局域网内的网段;
2. 本地的IP设置不能为“自动获取”,必须指定一个静态IP。
四. 如何设置
第一步:
运行Mercury LoadRunner- Tools-IP Wizard
第二步:
选择create new setting,点击“下一步”
此时出现的页面是让输入服务器的IP地址,Loadrunner通过该地址更新路由表。
客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。
如果服务
器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。
如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。
确保将以下路由添加到服务器路由表:从Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有IP 地址的路由。
第三步:
在输入web服务器地址的页面中输入地址后,直接点击
“下一步”
进入IP添加页面,点击“add”进行添加
第四步:
在from ip 输入框中输入起始ip,在Number to输入框中输入ip地址的位数,输入正确的子网掩码,选中“verify that new ip addresses are not already used”,点击“ok”,此时IP Wizard会自动按照设置生成IP 地址,并且将已经占用的IP列出。
第五步:
确认可用IP地址列表内容后,点击“ok”,此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表,点击“ok”,重新启动计算机。
注:当保存IP地址列表后,下次启用IP欺骗时直接选择load
previous setting from.....
第六步:
启用IP欺骗
选中Tools下的Expert mode,启动专家模式Expert mode,再点击Tools下的options,在Genearl选项卡中设置以线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。
在controller中,选择Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。
第七步:
验证IP欺骗是否有效
方法一
计算机重新启动后,在运行行中输入:CMD,在DOS命令提示符窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用;
方法二
在脚本的Action()部分增加如下代码:
char * 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");
然后通过控制器设置并运行场景,日志中可以看到IP地址。
第八步:
这一部很重要,如果不做这一步,很多IP地址就被占用了,可能你们网管跟你闹上了呵呵。
打开IP Wizard,选择restore original settings释放所有虚拟IP。
五.误区及答疑
到现在为止,IP spoofer设置就告终了,但是最后有些疑问或者叫误区需要分享一下。
Q/A:
1.自己本地的IP地址不在虚拟IP段内,有影响吗?
答:没有
2.是否需要配置多个load generator来对应不同的虚拟IP 呢?
答:不用,这个过程是generator自己完成的。
3.不同的generator是否都需要设置IP spoof呢?
答:Definitely Yes,不然的话不设IP欺骗的那台只会使用一个本地的IP执行。
4.虚拟用户数和虚拟IP数量上有什么关系呢?
答:如果虚拟用户数大于IP数量时,每个用户会得到不同的IP,否则,会有IP重复的现象。
5. 还有别的办法添加虚拟IP吗?
条条大路通罗马,试试这个。
在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。
例:
服务器IP:192.168.0.1
测试机IP:192.168.0.206
测试机上添加的虚拟IP:192.168.10.1~128
那么在服务器端执行以下命令:
route add 192.168.10.0 mask 255.255.255.0
192.168.0.206
本文来自CSDN博客,转载请标明出处:
/zzzmmmkkk/archive/2010/01/23/5248 655.aspx。