【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】

文/秋之川

【目录】

【上一章】

我们在 VuGen 里编辑并编译好脚本,就可以加载到 Controller 里进行运行场景设计,设计完,就可以执行场景了。两种方式可以启动 Controller:

“开始” -> “所有程序” -> “HP LoadRunner” -> “Applications” -> “Controller”;

VuGen -> Tools -> Create Controller Scenario;

4.1 场景类型介绍

    4.1.1 手动测试场景:我们最常用的就是这种,更灵活,更容易接近用户真实的使用场景。其中又包括两种模式:用户组模式与百分比模式,在于计算虚拟用户的方式不同

    4.1.2 面向目标测试场景:相当于一个闭环回馈关系。首先定义要达到的目标,接着 LoadRunner 会自动基于该目标创建场景,在运行过程中, LoadRunner 会不断地比较结果和目标,以决定下一步如何执行。

4.2 场景设计

手动和面向目标两种场景设计的区别主要在 Schedule 参数设置。该设置主要用来设置用户的行为方式,包括按场景计划和按用户组计划两种。

4.2.1 手动场景 Schedule 配置

1. 场景名称(Schedule Name);

2. 按场景计划(Schedule by Scenario)

    (1)Initialize 设置。
        设置脚本运行前如何初始化每个虚拟用户。
        默认选项也就是最常用的选项,在脚本运行前初始化所有虚拟用户。
    (2)Start Vuser 设置。
        设置虚拟用户加载的过程。
        默认设置也就是最常用的设置,每隔一定的时间加载一定数目的虚拟用户。
    (3)Duration 设置。
        设置场景执行的时间。
        一般情况下,在进行压力测试时,只需要测试15~30 min即可,但如果需要测可靠性和稳定性时,则需要持续运行 24h或 3*24h。
    (4)Stop Vusers 设置。
        设置场景执行完后虚拟用户释放的策略,前提是上一步设置了执行时间。
        一般我们跟加载用户一样去逐步释放。

3. 按用户组计划(Schedule by Group)

比按场景计划设计场景的设置项中多出了 Start Group 选项卡,以组为单位进行计划,每个组都要设置自己的 Start Vusers、Duration 和 Stop Vusers。这种方式理论上看更加灵活,能够创建更符合实际应用中脚本与脚本之间的约束关系。比如一组用户执行后产生的数据记录为另一组用户的输入。但实际应用中还未使用该模式,后续会深入了解实践。

4. 场景开始时间(Scenario Start Time)

Without delay:场景立即开始,没有延迟时间
With a delay of HH:MM:SS:延迟指定的时间后才开始运行
At HH:MM:SS on:在指定的时间开始运行

5. 百分比模式:

百分比模式是先设定好虚拟用户总数,然后按百分比的形式对所有的虚拟用户进行分配。一般在运行综合业务时常用,所以需要在设计阶段确定业务的百分比模型:

(1)分析历史数据。
(2)参考其他同类产品。
(3)试上线运行。

4.2.2 面向目标场景 Schedule 配置

该配置在我目前的实际应用中,还未被使用过,所以后续实践过了再来阐述。

4.2.3 配置 View Script

这里需要注意的是,如果对脚本修改了,需要在 Controller 中重新加载,才能确保场景执行的是修改后的脚本。

4.2.4 配置 Load Generator

Load Generator 称为负载发生器,负责分发 Controller 发出的执行命令给其他的负载机器,建立起联系并强制执行。所以我们在实际应用中,可以通过 Controller 机器同时控制多个负载机器去模拟多用户场景。

添加负载机

在 Name 里输入目标负载机的 IP 地址,点击 OK。然后在 Load Generators 窗口选中对应的负载机,点击 Connect 按钮,测试是否能连接成功。Status 为 Ready,表示连接成功。

在使用负载机模拟多用户测试时,需要注意几个问题:

(1)计算需要负载机的台数;
(2)在 Controller 和 Load Generator 机器上都要启动 LoadRunner Agent Process;
    原理:Controller 通过 LoadRunner Agent Process 去控制负载机运行;

4.3 场景执行

4.3.1 场景控制

主要监控场景、Vuser 组和 Vuser 三个对象。


Vuser

运行中,你可以点击 Vusers... 按钮打开 Vuser 窗口,针对 Vuser 做一些操作。比如添加、查看日志等。

(1)右键菜单里的 Show Vuser Log, 可以查看指定 Vuser 的运行日志,方便检查出错日志。这里其实有一个建议,就是在脚本目录里有个 \res\log 目录,里面的日志就是对应的 Vuser 运行日志,可以直接用 Notepad++ 或 UltraEdit 打开,较为方便查错。

(2)Add Vuser:我们再场景运行过程中,会经常遇到,事先设定的 Vuser 数不够,需要增加的情况,这时候可以在 Vusers 窗口里点击“Add Vuser(s)...”按钮打开下面的对话框,设置 Quantity to add 和 Select Script,点击 OK button 返回到 Vusers 窗口,默认你新增的 Vuser都是 Down Status,所以你可以在筛选菜单里选择 Down Status 查看,选中适当数量的 Vusers,再点击 Run button,这些 Vusers 就会被启动并加入场景运行。

Add Vusers

4.3.2 场景执行期间查看场景

我们在场景运行过程,可以查看 Vuser 执行的情况,主要包括:

Vuser 运行状态:


Scenario Groups
状态含义表

事务详细信息:


Scenario Status


场景状态含义表

点击 Passed Transactions or Failed Transaction 的数字或后面的“显示快照”按钮,会弹出下面的对话框:

TPS:表示每秒的事务数
Passed:表示运行已通过的事务数
Failed:表示运行已失败的事务数
Stopped:表示运行已停止的事务数


Transactions

查看“输出”窗口

点击 Errors 的数字或后面的“显示快照”按钮,会弹出下面的窗口,默认显示的是错误信息。

Output

在实际执行过程中,经常会使用到这个功能,用于分析出错原因:

(1)判断是由于脚本编写引起的错误还是性能测试本身引起的错误;
(2)可以根据具体的Error Code去查找为什么会抛出这个错误;

4.4 场景监视

该部分并入第9章的学习中。

【下一章】

【目录】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容