hp loadrunnerr 为什么场景中事物数与虚拟用户数不一致?

LoadRunner 虚拟用户数的问题_百度知道
LoadRunner 虚拟用户数的问题
第一个问题:主要是你的参数设置,如果设置正确的话,用100vuser运行,那么就是每个用户分别执行了一次不同的注册操作第二问题:一般来说是,但是如果用两个vuser的话,因为每次注册时间不同,所以有可能出现51,49的情况注册时,参数设置是比较重要的
其他类似问题
为您推荐:
虚拟用户执行多少次操作 和 参数表有多少参数是没关系的,只跟场景设置有关。不过如果参数不够的话,虚拟用户把参数表中的参数用完之后会停止的。在正确执行完的情况下,这两个问题的答案都是&是&。
1、是的2、这个不会,2个人注册,就只用了2个参数
loadrunner的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁2375人阅读
通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景
手工场景就是自行设置虚拟用户的变化,主页是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载的生成。
l& 手工场景模式:
Vuser group mode.在该模式中,为每个脚本都分配一个虚拟用户组,并为每个虚拟用户组分配一个Vuser数量。默认的,同一个组中的所有vuser都在同一负载生成器上运行同一个脚本,如下图
可以为同一个组中的不同用户分配不同的脚本、负载生成器,如下图
通常,每一个Group仅包含一个脚本,代表一种典型操作,该组的Vuser用户都执行该脚本
Percentage mode.该模式中,为场景设定Vuser总数并为每个脚本指定Vuser数量的百分比值及指定负载生成器
通常,每一个Group仅包含一个脚本,代表一种典型操作,该组的Vuser用户都执行该脚本
Percentage mode.该模式中,为场景设定Vuser总数并为每个脚本指定Vuser数量的百分比值及指定负载生成器
类似Group,通常,每一个Script仅包含一个脚本,代表一种典型操作,
问题:Vuser Group Mode模式下,如何修改各个Group的Quantity用户数?
1.&切换场景为PercentageMode,
2.&如下,点击对应脚本所在列(%列)的单元格,修改比率
3.再次切换场景为Vuser Group Mode
1.两个脚本是以同样的方式进行负载的,只是根据用户的比例分配负载增加的趋势,这里设置了每隔15秒增加10用户,也就是15秒增加7个属于basic_script的用户,3个属于basic_script_1的用户
2.这里并不能修改总的用户数,仅能修改分配给每个组的用户数,如果要修改Vuser总数,双击Start Vusers action,修改Start
total Vuser中的total值,见下文
2& 场景模式切换
Vuser Group Mode转换为Percentage Mode:如下
Scenario-&Convert Scenairio to the VuserGroup Mode
Vuser Group Mode转换为Percentage Mode:如下
Scenario-&Convert Scenairio to the PercentageMode
3& 场景计划设置(ScenarioSchedule)
在“Scenario Schedule”中设置负载行为
4& Service Level Agreement(服务水平协议)
设计负载测试场景时,可以为性能指标定义目标值或服务水平协议(SLA)。运行场景时,LoadRunner收集并存储与性能相关的数据。分析运行情时,Analysis将这些数据与SLA进行比较,并为预定义
的测量指标确定SLA状态。
?& 手工场景设计步骤
a)&& 打开或创建一个场景
1、在主控制条上点击 New Scenario按钮
2、在NewScenario对话框中,选择Manual Scenario.
3、(可选)想按百分比分布Vuser的话,选择Use the Percentage mode... 选项。
4、(可选) 选择要加入场景的脚本。如果你这一步不选择脚本,还可以在场景中添加。
点击OK后,打开场景Design标签。
b)&& 添加负载生成器
点击Load Generator按钮 (或者Scenario-&Loadgenerators), 在打开的Load Generators对话框中点击Add并输入你要添加的负载生成器的详细信息
注意:这里的名称可以是ip也可以计算机名、localhost(本机)
点击More,进行更多设置
点击Connect
这里如果Temporary directory目录为空,那么运行时,&LoadRunner存储临时文件在负载生成
器上,由负载生成器变量TEMP、TMP变量指定的临时目录.
a)&& 添加Vuser组、Vuser用户或脚本
Vuser Group Mode:在场景组面板中,创建要加入场景的虚拟用户组Vusergroup.创建一个场景虚拟用户组:
1、点击AddGroup按钮
2、在Add Group对话框中:
a& 填写组名,指定该组Vuser数量。
b& 选择一个运行Vusers的负载生成器
c& 选择一个虚拟用户脚本。
Percentage Mode:在场景脚本面板中,按照如下添加组到场景:
点击Add Group按钮并从列表中选一个Vuser脚本
1、在场景脚本面板中的LoadGenerator列中选择用于运行脚本的负载生成器。
注意:缺省的,新增的脚本会在场景中所有负载生成器上运行。
2、为场景选择所有脚本时,在场景脚本面板的 % 列中为每个脚本指定一个总虚拟用户数的百分比。 从第一个脚本开始进行百分比的设定,然后下一个脚本,依此类推.
添加虚拟用户
为单个Vuser组、脚本添加用户
1.先切换到Vuser Group Mode
2.Design 标签页&Scenario Groups 面板&选择要添加虚拟用户的Vuser组&Vusers & Add Vusers
3.Add Vuser(s)
1.上述的设置会改变原来的总的虚拟用户数
2.如果仅是设置虚拟用户总数,则可在在场景计划(scenario schedule)中定义的。
如下,修改Start total&
Vusers中的total值
a)&& 为场景定义一个schedule
可以在默认计划上进行设置,也可以新建,如下
e)定义Service Level Agreements(可选)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:159808次
积分:3069
积分:3069
排名:第5700名
原创:136篇
转载:110篇
评论:43条
&&5年大型外企经验,历任java程序员、软件测试工程师、高级软件测试工程师,资深自动化测试工程师,
2009年11月加入惠普武汉公司,先后参与了2个项目的测试工作,主要业务是ITIL,航空。
&&在惠普期间,业余时间,和朋友创办BQuickTest自动化测试咨询工作室()(提供自动化测试技术讨论,自动化测试服务,企业内训,企业测试解决方案),2011年7月由于各种原因被迫关闭
&&号因个人职业规划发展的需要离开惠普武汉分公司,加盟武汉科码软件有限公司,任测试部门主管,负责组建测试部门,加盟3天后,为其建立测试部门流程规范,建立测试部门绩效考核,招人用人等一系列规范,基于项目建立测试技术选型和团队建设,人才培养机制等一系列举措,最后因某种不得不离开。
&&号加入无锡海辉。
&&2013年8月因个人职业规划原因离开无锡海辉软件有限公司,加入塔塔(TCS)信息技术股份有限公司中国深圳分公司
学习是一个永无止境的过程,而且是越学越感觉&无知&,博客在于思考、总结、提升 自己
个人联系方式: sina邮箱:
微信:jason_txj
微信公众平台:健康沉思传播 (healthcast)
(2)(2)(1)(12)(2)(13)(13)(1)(3)(2)(7)(1)(4)(2)(3)(3)(1)(6)(2)(2)(6)(5)(1)(2)(3)(2)(24)(7)(6)(3)(2)(4)(7)(40)(3)(20)(6)(12)(7)(1)(3)LoadRunner:虚拟用户数和并发用户数的联系 - zyl520xz的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
LoadRunner:虚拟用户数和并发用户数的联系
& 00:32:49
  例如OA系统使用用户是100个,这个就是系统用户数,该系统有一个统计查询功能,最高峰在线50人,那么系统的并发数是多少?  OA系统使用用户是100个,这个就是系统用户数。  最高峰值50人同时在线,只表明同时登录了这个模块,并不表示实际承受的压力。因为承受的压力还与具体的用户访问模式相关。这50人在线,有可能开着电脑溜达去了,有的看的别的模块等等。  :是同时执行一个操作的用户,或者是同时执行脚本的用户,这个并发在设置不同场景的时候并发的情况是不一样的,在实际的中需要根据具体的需求进行设计。系统,在线不等于并发,如何计算这个并发数是个难题。这个就是设置集合点时候设置的在scenario-&Rendezvous,点policy 设置的用户数。  估算并发数的公示:  (1) 计算平均的并发用户数: C = nL/T  (2) 并发用户数峰值: C’ ≈ C+3根号C  公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。  公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。  假设有一个OA系统,该系统有3000个用户,(可以看注册信息)平均每天大约有400个用户要访问该系统,(文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。  则根据公式(1)和公式(2),可以得到:  C = 400*4/8 = 200  C’≈200+3*根号200 = 242  但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.  假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如120 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。12使用java_在LoadRunner进行虚拟用户编程-第4页
上亿文档资料,等你来发现
12使用java_在LoadRunner进行虚拟用户编程-4
户脚本,并对照图7-17,输入同样的测试脚本,尤;图7-17Java虚拟用户示例脚本;l运行虚拟用户脚本;点击VirtualUserGenerator工具;7-18所示,可以看到执行日志中有“System;图7-18正确执行的虚拟用户脚本;与CVuser脚本相比,JavaVuser脚本是;测试脚本保存后,接下来可以放到Controlle;图7-19JDK环境
户脚本,并对照图7-17,输入同样的测试脚本,尤其要在代码开始处输入包的导入语句“import com.lr.test.*;”。 图7-17
Java虚拟用户示例脚本l
运行虚拟用户脚本点击Virtual User Generator 工具栏上的 正确的执行结果如图 图标开始执行脚本。7-18所示,可以看到执行日志中有“System.out: HelloWord!”。如果运行不正确,读者可以参照前面的过程进行分析,同时检查JDK的路径设置。 图7-18
正确执行的虚拟用户脚本与 C Vuser脚本相比,Java Vuser 脚本是先编译再执行,而C Vuser脚本是解释性的。VuGen在JDK安装路径内查找javac编译器,并在脚本内编译Java代码。该阶段由VuGen窗口底部的“正在编译... ”状态消息来指示。如果在编译期间出错,则这些错误将在执行日志中列出。测试脚本保存后,接下来可以放到Controller中来运行,读者可以自己进行实验。需要注意的是,如果进行多台计算机联机测试,则所有运行测试脚本的客户机必须安装JDK环境并正确设置路径,否则将会出现如图7-19所示的提示。 图7-19
JDK环境不正确的提示要想正确使用Java虚拟用户,首先要保证测试环境配置正确。执行测试时,可以先用本节的示例程序来检查环境是否正确,然后再进行复杂功能的开发。7.2.2
LoadRunner的Java APILoadRunner为访问Vuser函数提供了特定的Java API,这些函数都是lrapi.lr类的静态方法。借助Java API可以大大增强Java虚拟用户脚本的可用性。本节将介绍常用的Java API的用法,更多的函数及其用法读者可以参考LoadRunner联机手册。在Java虚拟用户中,Java API函数的用法与Vuser函数中的用法基本一致,只是写法稍稍不同,更符合Java语言的特点。1. 事务函数(Transaction Functions)(1)int lr.start_transaction( String transaction_name ):标记事务开始;(2)int lr.end_transaction ( String transaction_name, int status ):标记事务结束。2. 信息函数(Informational Functions)(1)String lr.get_group_name( ):返回 Vuser 组的名称;(2)String lr.get_host_name( ):返回执行 Vuser 脚本的负载生成器的名称;(3)String lr.get_master_host_name ( ):返回运行Controller计算机的名称;(4)int lr.get_scenario_id( ): 返回当前方案的ID;(5)int lr.get_vuser_id( ) :返回当前 Vuser 的ID。3. 运行时函数(Run-Time Functions)(1)void lr.peek_events ( );:指示可以暂停Vuser 脚本的位置;(2)int lr.rendezvous( String rendezvous_name ):在 Vuser 脚本中设置集合点;(3)void lr.think_time( double time ):暂停脚本执行,模拟实际用户操作之间的思考时间。4. 字符串函数(String Functions)(1)String lr.eval_string ( String instring ):用当前值替换参数;(2)int lr.eval_int ( String name ):用整型值替换参数;(3)int lr.next_row ( String dat_file ):指示使用指定参数的下一行数据。5. 消息函数(Message Functions)(1)int lr.debug_message( int message_level, String message):向输出窗口发送测试过程的调试消息;(2)int lr.error_message ( String message ):向Vuser日志文件和输出窗口发送错误消息以及位置的详细信息;(3)int lr.log_message ( String message ):向 Vuser 日志文件发送消息;(4)int lr.message ( String message ):向输出窗口发送消息;(5)int lr.output_message ( String message ):向日志文件和输出窗口发送消息和位置信息;(6)int lr.vuser_status_message ( String message ):向Controller窗口中的“Vuser状态”区域发送消息。7.3
Java算法测试案例本节将结合一个具体案例来讲解如何借助Java Vuser来测试Java程序的算法。在案例中,主要模拟了测试某银行的信用卡审批过程,这部分内容是开发阶段性能测试的一部分。在这个测试例子中,主要发现了在并发时的两个算法问题:提交任务处理结果发生异常时Socket没有正常关闭;申请任务方法giveOutWork()没有加同步控制关键字synchronized。为了更好地演示测试效果,程序中忽略了实际程序中的一些细节,例如具体的任务申请以及处理过程。测试内容简介信用卡审批程序主要包括两个部分,即客户端程序与服务器端程序。客户端程序包含一个Client.java类文件,即仅包含一个类Client,主要封装客户端的“申请―处理―提交”操作。服务器端程序即WorkServer.java,包含WorkQueue、AcceptClientThread、WorkServer三类。类WorkQueue主要完成任务队列的构建与管理工作;类AcceptClientThread继承线程类Thead,以独立线程的方式来处理客户端申请任务并保存客户端对任务的处理结果;类WorkServer是服务器端的执行类,主要完成对WorkQueue、AcceptClientThread的调用。下面具体介绍业务流程。客户端对一项任务的业务流程如下:第一步:与服务器建立连接,向服务器发出处理任务申请,等待服务器返回任务; 第二步:从服务器得到任务后,开始进行处理;第三步:处理完毕后,提交结果给服务器进行保存,然后等待服务器返回结果; 第四步:输出服务器的保存结果;第五步:结束当前的任务处理。客户端源程序清单:Clien.javapackage com.loadrunner.import java.io.*;import java.net.*;/*** 客户端{申请任务、确认是否可以审批、处理、传递结果得到确认}* @author ChenShaoying*/public class Client {Sint clientNBufferedR//读出服务器返回的输入流PrintW//反馈给服务器的输出流/*** 向服务器申请任务*/Client(Socket s) {try {this.socket =this.is = new BufferedReader(new InputStreamReader(s
.getInputStream()));this.os = new PrintWriter(s.getOutputStream());this.clientNumber = Integer.parseInt(is.readLine());} catch (Exception e) {System.err.println(&Error:Can not init the network!&);}}public int applyWork() {int workNumber=-1;try {this.os.println(&Apply&);//发出申请os.flush();workNumber = Integer.parseInt(this.is.readLine());//读出申请结果
if (workNumber == -1) {System.out.println(&Server has no Work to do&);System.exit(1);//退出程序} } catch (Exception e) {System.err.println(&Error:Can not apply the network!&);
}return workN}/*** 处理任务:添加实际处理过程即可,本处略* @return deal with result包含各类专业文献、中学教育、高等教育、外语学习资料、专业论文、应用写作文书、幼儿教育、小学教育、文学作品欣赏、12使用java_在LoadRunner进行虚拟用户编程等内容。 
 用java在LoadRunner定义虚拟用户_IT/计算机_专业资料。用 java 在 LoadRunner 定义...LoadRunner脚本编程 65页 1下载券 使用LoadRunner_编写JAV... 8页 免费 LoadRunn...  LoadRunner调用Java程序―性能测试_计算机软件及应用_IT/计算机_专业资料。LoadRunner...然后就可以到场景中设置虚拟用户数进行场景测试了,然后根据场景测试的结果得出分析...  创建 Java Vuser 是自定义的 Java 虚拟用户脚本,脚本中可以使用标准的 Java ...LoadRunner脚本编程 65页 5下载券
LoadRunner11-中文教程 134页 1下载券 ...  使用eclipse开发LoadRunner java 脚本_其它_高等教育_教育专区。使用eclipse开发LoadRunner java 脚本使用eclipse 开发 LoadRunner java 脚本 在学习编程的过程中,我觉得不...  loadrunner配置java环境_计算机软件及应用_IT/计算机_专业资料。loadrunner配置java环境...\loadrunner\bin 2 Java 虚拟用户开发调试 一、java 代码开发 1、 启动 e...  使用LoadRunner_编写JAVA_测试脚本_IT/计算机_专业资料。要使得Loadrunner8.1版本...8页 免费 Loadrunner 脚本编程 12页 免费 Loadrunner从零开始 100页 1下载券...  [MsgId: MERR-22986] 当选择 Java 协议的时候: *...LoadRunner 使用的没有进行微软扩展的 ANSI C 语法。...// 只给控制器上的虚拟用户状态区域发送信息(当在...  LoadRunner脚本编程_计算机软件及应用_IT/计算机_专业...在使用 Java 协议之前,确保你在环境变量的路径下有...这个属性可 以对不同的虚拟用户组设置不同的值。 ...  LoadRunner_使用虚拟IP测试流程_工学_高等教育_教育专区。LoadRunner_使用虚拟IP测试...按 Generators 按钮,设置虚拟用户生成器,将虚拟 IP 地址都添加进去,并连通。...关于 loadrunner 平均响应时间与 虚拟用户数 的合并图 一个问题_百度知道
提问者采纳
绿色线是实时在线用户数量 紫色是实时事务响应时间红色看不到你定义的什么
1、那为什么响应时间不是从0开始呢?2、这个绿色线与紫色线正常吗?3、我另外还有一个图,当后来用户数量下降时,为什么响应时间仍然在上升呢?图如下:
你这个是实时事务响应时间 表示完成这个事务所花的时间
起点是表示第一个完成action事务的用户所花的时间 当然不会是0了 而这个时间也会随着在线用户的增加也增加你这个比例很正常你的样本取样数据太少了
整个场景才10几秒
不能说明什么问题
提问者评价
太感谢喽!
其他类似问题
为您推荐:
loadrunner的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 hp loadrunner 的文章

 

随机推荐