LoadRunner中Action的迭代次数的设置和运行场景中设置

LoadRunner中Action的迭代次数的设置和运行场景中设置

LoadRunner是怎么重复迭代和怎么增加并发运行的呢?
另外,在参数化时,对于一次压力测试中均只能用一次的资源应该怎么参数化呢?就是说这些资源用了一次就不能在用了的。
--参数化时,在select  next row选择unique,update value on选择 each occurence,
1. 迭代跟虚拟用户数没什么必然联系
迭代是这样的:
迭代1次   迭代2次  迭代3次
用户1     X1           X2             X3
用户2     Y1           X2             Y3
其中的X1-3 Y1-3是参数,参数规则就是二楼说的
这么两个用户是根据你的rump up 上来的,比如5秒上两个用户,那么用户1和2就在5秒之内加载进来的,不知道说清楚了没。
第二个问题就简单了,只能用一次的参数,首先确保你的参数足够,另外规则选择的时候,注意选择唯一
迭代次数只是对你设置了迭代次数的action进行迭代,而用户数可以理解为对整个录制过程的迭代(只是各个用户不同) 而且增加并发量可以通过增加用户来达到 还可以设置集合点来增加某个操作的并发量
假如一个脚本,设置最大并发量为10,每5秒中增加2个并发用户,而Action设置的迭代为10次:
当开始至2秒时,加载了2个用户,这2个用户分别开始运行,并都运行10次,不管这个2个用户运行10次是否结束,当下一个2两秒到来时,即开始至第4秒时又加载了2个用户,这2个又运行10次;就这样一直加载到10个并发用户,然后当每个用户都运行完10次时就结束。
这样中间最大并发是10个,但不一定能达到10个,因为在加载最后几个时,前面的有可能已经运行结束,所以如果要真正达到最大并发10就必须设置集合点来完成
不过也不一定非要设置集合点才能实现同时处在running的状态有10个用户。
设置duration也是可以的。不过那就不只每个用户运行10次了。
如果想实现用户迭代10次,并且想同时running为10个用户,就应该设置集合点。
迭代(Iterate)设计,或者我们称之为增量(Incremental)设计的思想和XP提倡的Evolutionary Design有异曲同工之妙。
注意:1、 参数类型:在创建参数的时候,我选择了参数类型为File。参数类型共有9 种,现在来简单介绍一下所有的参数类型以及意义。
1.1、   DateTime:在需要输入日期/时间的地方,可以用 DateTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。
1.2、   Group Name:很少用到。在实际运行中,LoadRunner 使用该虚拟用户所在的Vuser Group 来代替。但是在 VuGen 中运行时,Group Name将会是None。
1.3、   Load Generator Name :在实际运行中, LoadRunner   使用该虚拟用户所 在LoadGenerator   的机器名来代替。
1.4、   Iteration Number :在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。
1.5、   Random Number:随机数。很简单。在属性设置中可以设置产生随机数的范围。
1.6、   Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。
注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的最大数为99。当使用该参数类型时,设置第一个数为 1,递增的数为1,但100个虚拟用户同时运行时,第100 个虚拟用户输入的将是 100,这样脚本运行将会出错。这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为 1。举例说明:假如起始数为 1,递增为 5,那么第一个用户第一次循环取值 1,第二次循环取值 2;第二个用户第一次循环取值为 6,第二次为 7;依次类推。
1.7、   Vuser ID:设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的 ID   来代替,该 ID   是由 Controller 来控制的。但是在 VuGen 中运行时,Vuser ID   将会是 –1。
1.8、   File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据
1.9、   User Defined Function:从用户开发的 dll 文件提取数据。
用HTTP协议录制了一个包含登录、浏览、退出过程的脚本,录制时都放到Action部分,这时脚本设置了迭代后可以多次重复运行,但是出于处理逻辑,一旦将登录脚本放到Init部分后,就无法正常进行迭代运行了。今天专门找个时间做了尝试,发现可能出现这两种错误。
1、这是我犯的一个低级错误。在我将登录脚本移到Init部分时,将登录脚本之后的浏览操作前面的web_reg_find脚本也一起移了过去,结果运行完Init部分脚本就出错了。错误提示:
Error -27259: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of the Init section
这种错误的现象是没有进行迭代已经出错了,错误提示也很明确。这时只要把web_reg_find放回Action部分的正确的位置即可。
2、单次运行正确,但是多次迭代运行时出错,错误提示:
Error -27985: There is no context for HTML-based functions. A previous function may not have used "Mode=HTML" or downloaded only non-HTML page(s), or the context has been reset (e.g., due to a GUI-based function)
这种错误可能比较常见,原因是在Runtime Settings的Browse Emulation中设置了Simulate a new user on each iteration引起的。由于这个设置导致每次迭代时都会模拟一个新的用户,此时这个新的用户并没有执行init操作而失败了,也即是错误提示中的There is no context。
这里涉及到一个知识点就是在Rumtime Settings的迭代设置中,迭代运行次数只对Action部分有效,而Init部分和End部分还是只运行一次的。这时如果设置了“Simulate a new user on each iteration”,将出现上面的第2种错误。

转载于:https://www.cnblogs.com/qmfsun/p/4237796.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IE11 全新的F12开发者工具

我讨厌debug,相信也没多少开发者会喜欢。但是当代码出错之后肯定是要找出问题出在哪里的。不过网页开发的时候遇到 BUG 是一件再正常不过的事情了,我们不能保证自己的代码万无一失,于是使用浏览器的开发者工具调试是我们解决问题最快捷的方法…

OpenXLSX 中文字段读取问题

在读取excel的时候发现有些中文字段无法读取,通过把excel文件解压后对比发现,正常读取和不 能正常读取的中文字段在sharedString.xml中存储的格式有差异,取其中一个字段,如下图: 正常读取的 不能读取的 对比可以看到…

时间格式化需要注意点不可使用本地时间

var compareTime DateTime.Now; var start DateTime.Parse(string.Format("{0:u}", compareTime)); var end DateTime.Parse(compareTime.ToString()); Console.WriteLine(string.Format("时间格式正确{0}", startend)); 各位猜猜,输出是什么…

MFC 窗口置顶

SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetWindowPos(NULL, 300, 150, 80, 40, SWP_SHOWWINDOW);

[翻译] ZLHistogramAudioPlot

ZLHistogramAudioPlot A hardware-accelerated audio visualization view using EZAudio, inspired by AudioCopy. ZLHistogramAudioPlot was originally developed for Murmur. 这是使用了EZAudio,一个硬件加速的audio可视化view,灵感来自于AudioCopy.ZLHistogramAudioPlot这个…

Remon Spekreijse CSerialPort串口类的修正版2014-01-10

转自:http://m.blog.csdn.net/blog/itas109/18358297# 2014-1-16阅读691 评论0 如需转载请标明出处:http://blog.csdn.net/itas109 这是一份优秀的类文件,好多的地方值得我们学习,具体在多线程,事件,自定义…

获取进程名称与ID

HANDLE hProceessnap CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);if (hProceessnap INVALID_HANDLE_VALUE){printf_s("创建进行快照失败\n");return -1;}else{PROCESSENTRY32 pe32;pe32.dwSize sizeof(pe32);BOOL hProcess Process32First(hProceessnap, …

CMake find_package

find_package(XXX REQUIRED) CMake 会寻找 XXX_Dir的路径查找.cmake文件 有两种方式设置 1. 命令行模式下,使用-D -DXXX_Dir"路径" 2. 界面模式下,使用Add Entry添加 XXX_Dir 变量并设置路径

Libevent:6辅助函数以及类型

在头文件<event2/util.h>中定义了许多有用的函数和类型来帮助实现可移植的程序。Libevent在内部使用这些类型和函数。 一&#xff1a;基本类型 evutil_socket_t 除了Windows之外的大多数系统&#xff0c;socket就是一个整数&#xff0c;而且操作系统按照数值顺序对它们进…

enable_if

typedef struct {int a; }TestType;int main() {enable_if <1, TestType>::type test1; //正确test1.a 100;enable_if <is_integral<int>::value, TestType>::type test2; //正确test1.a 100;enable_if <0, TestType>::type test3; //错…

一. NSIS介绍

概述 最近需要写一个安装程序&#xff0c;比对了一下现有的安装工具&#xff0c;最后选定了NSIS&#xff0c;最主要的原因一是开源、二是灵活。 下面把我的要求简单列举下&#xff1a; 1、需要检查系统环境是否满足要求 2、需要界面友好的安装过程 3、需要一些自定义界面&…

HDU-1008

水题 Description The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 seconds to move the elevator up one floor,…

二. 简单的NSIS安装包

新建脚本&#xff1a;向导 我们先从一个简单的NSIS安装包开始吧&#xff0c;就像前面&#xff08;NSIS介绍&#xff09;所说&#xff0c;我们虽然看过用户手册&#xff0c;可要写安装脚本无从下手&#xff0c;那我们的编辑工具HM NIS Edit就派上用场了。 打开HM NIS Edit&…

Ubuntu 14.04 LAMP搭建(Apache 2.47+MySQL 5.5+PHP5.5)

Ubuntu 14.04 LAMP搭建(Apache 2.47MySQL 5.5PHP5.5) 原文:Ubuntu LAMP搭建 为了数据库课程设计&#xff0c;只好自己搭一个数据库系统&#xff0c;采用LAMP方式。 一、安装 1.安装Apache sudo apt-get install apache2 Apache在安装期间会新建一个目录&#xff1a;/var/www&am…

C++变量未初始的后果

#include <iostream> using namespace std;void dummy(int &a) {}int main() {int i 2;while (i--){int a;dummy(a);if (i 1){a 100;}cout << a << endl;cout << &a << endl;}getchar(); } 上面程序&#xff0c;如果变量a没有初始化…

NSIS 查找文件是否存在,并设置安装路径

Var GIT Function .onInit!insertmacro MUI_LANGDLL_DISPLAYStrCpy $GIT "false"MessageBox MB_OK $9IfFileExists "C:\Program Files\Git\git-cmd.exe" 0 4MessageBox MB_OK "Git已安装"StrCpy $INSTDIR "C:\Program Files\Git"StrCp…

国内主流云主机比较

随着国内云主机技术日趋成熟&#xff0c;云主机的优势越来越明显&#xff0c;用户对云主机的态度也由观望变为乐于尝试。国内各大云主机商也放低姿态&#xff0c;产品设置和定价上逐渐迎合个人用户和中小型企业用户的需求。 云主机的诸多好处&#xff1a;集群计算、处理能力可弹…

30 个很棒的 PHP 开源 CMS 内容管理系统

本文汇集了30个优秀的开源CMS建站系统&#xff0c;采用PHP开发。以下列表不分先后顺序。 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统&#xff0c;主要特点是易用&#xff0c;而且可以轻松和其他系统接驳&#xff0c;提供简单的扩展定制途径&#xff0c;一个简单而且功能强…

Alwayson常用脚本

1、修改实例下所有节点的数据同步模式&#xff0c;在master数据库下运行 --查找所有异步提交的辅助节点&#xff0c;修改为同步提交模式 -- SYNCHRONOUS_COMMIT 同步提交模式 -- ASYNCHRONOUS_COMMIT 异步提交模式 select ALTER AVAILABILITY GROUP [a.name] MODIFY REPLICA…