性能测试--RoadRunner 2 Controller

Controller
简介:单用户--多用户  可以生成很多模拟用户的模块
场景设计--场景监控--运行场景
从VuGen单用户----Controller多用户

1 创建测试脚本
打开Controller 

---------------------------start 手工场景--------------------------------------
1 创建场景
手工场景:自行设置用户的变化,定量型,可以指定虚拟用户数,一般用于    负载测试 压力测试  (用户百分比√去掉)

2 场景设置
重点在 左下角 Globle Schedule 全局计划(这里是配置多个虚拟用户按怎样方式运行)
第一行:双击Initialize 初始化(选项有1同时初始化所有用户2每隔多久初始化一个用户3。。。)
第二行:Start Vuser,设置多少个用户,同时启动所有用户,每隔几秒启动一个用户。
第三行:Duration持续时间(达到最大用户数时)持续运行到结束,持续多少时间。
第四行Stop Vuser:退出方式,同时退出,每隔几秒退出一个用户。
注:也可点击右边图表上方铅笔图标对图表曲线直接进行更改。

3 场景计划方式与运行模式
位置:在右下角 Globle Schedule上方Scenario Schedule
Schedule by计划方式:
Scenario场景:对于多个脚本(右上方Scenario Group有两个以上脚本),多个脚本按 Globle Schedule设定的运行方式统一进行运行。(每个脚本运行方式一样)
Group组:每个脚本自己设定 Globle Schedule进行运行。

Run Mode运行模式:
Real-world schedule实际计划:可以更改停顿时间等待时间等。
Basic schedule基本计划:基本计划无法添加更改。

---------------------------end 手工场景--------------------------------------


---------------------------start 目标场景--------------------------------------
目标场景:设定一个运行的目标(如每秒点击量等)通过Controller的自动加载功能进行自动化负载,如达到预设目标则测试成功。(不能指定虚拟用户数)
4 创建目标场景
创建的时候选择目标场景(即选中Goal-Oriented Scenario)
左上 Scenario Scripts
需要完成目标的百分之多少% of taget          负载机Load Generows

5 目标场景配置
单击左下角Edit Scenario Goal
目标名称(重命名 删除 场景启动时间等)
Define Scenario Goal
     Goal Type目标类型:
     1 Virtual Users检测目标所需要支持的用户数。
     2 Hits per Second 能承受的每秒点击数(服务器响应用户请求数)
     3 Transctions per Second 每秒事务数,一个事务即一个操作,反应系统的处理能力。
     4 Transctions Response Time 事务的响应时间,反映系统的处理速度以及一个操作所花费的时间。
     5 Pages per Minute 每分钟页面的刷新次数,反映系统每分钟提供的页面处理能力,代表系统的整体处理能力。

Scenario Settings
     Run Time 持续稳定性测试
     If target cannot be reached如无法完成目标(停止场景保存结果,继续运行,显示通知)



6 负载生成器管理
左上角Scenarion Scripts 下 % of Target后面 Load Generate
左上角点击第四个图标(保存后面那个图标)进入 Load Generate设置界面
Add--Name:localhost--ok
退出到 Load Generate设置界面--点击connet进行连接
一般负载大量用户需要连接其它多台电脑进行负载


7 负载运行时设置
中间 Run Time setting(手工场景在左上几个人图标右边有点三角那个,选中脚本后单击这图标)
设置思考时间 步长等 需要设置得更像真实用户。(超时设置更长一点,在Preference--option--里设置)


8 9手工场景负载界面
左下角 Run界面进入运行设置界面
运行设置界面
左上:虚拟用户的状态。
中上:开始运行,临时增加虚拟用户,停止虚拟用户等。
右上:运行结束通过的虚拟用户,失败的虚拟用户等。

中间4个表:
1 虚拟用户数
2 事务响应时间
3 每秒点击数
4 系统资源

中左:可以更改的图表 http://www.51zxw.net/show.aspx?id=39954&cid=497


10 11windows系统资源监控
(第四个图windows Resourse)
单击这个图右键--Add Measurements


12 运行手工场景
运行后要保存


13 运行目标场景


14 集合点设置
虚拟用户运行速度不一样,需要在中间设置一个集合点,先运行到集合点的虚拟用户停下来等待其它虚拟用户,再一起继续运行。
有利于最大用户并发去做下面的操作。
如秒杀:很多不同时间登录,等待时间到同一时间点击秒杀按钮,测试时就需要用到集合点。

需要回到VuGen--打开 basic_script ---打开脚本视图
在需要插入集合点的代码处点击工具栏的--Insert--Rendezvous--代码完成后保存(ctrl+s)---工具栏Tools---create controner scren跳转到controner界面--设置好场景后---工具栏Scenrio-- Rendezvous--Policy(1所有虚拟用户%多少到达集合点后运行 2在运行的%多少 3 具体多少虚拟用户到达后运行)



15 16 IP欺骗
设置为固定ip
 
17 IP欺骗验证

录制脚本--代码上面添加一个事务--F4进行设置--Miscelareous里改成用线程运行---创建场景跳到controller(手工场景)---controller界面--工具栏Scenario--Enable IP Spoofer打勾


18 服务水平协议 SLA (有点类似于目标场景)

controller界面右上框---点击new--



19 20 21 LR常用函数
函数帮助文档:电脑开始菜单---HP--Documentation--Function Reference
事务函数
lr_start_transaction(); 标记事务的开始
lr_end_transaction();标记事务的结束
lr_get_trans_instance_status();得到事务的状态
lr_get_transaction_think_time();得到事务的指定思考时间
lr_stop_transaction()停止事务

日志函数
lr_debug_message();发送调试信息到日志文件
lr_get_debug_message();返回当前调试的信息
lr_error_message();发送错误信息到LR输入窗口或日志文件
lr_log_message();发送信息到用户日志文件
lr_output_message(); 发送信息到输出窗口或日志文件
lr_vuser_status_message()发送虚拟用户的状态到LR的Controller

运行时函数
lr_about();终止执行的脚本
lr_continue_on_error()当发生错误时,参数:1继续运行,0停止运行
lr_exit()运行中退出脚本
lr_think_time()设置思考时间
lr_rendezous();集合点
lr_load_dll();调用DLL文件。


2018.1.1

猜你喜欢

转载自blog.csdn.net/qton_csdn/article/details/79285967
今日推荐