1、controller原理
通过场景设计来模拟用户的真实操作并调用bugen中的脚本,再通过设置的压力机产生压力,在场景运行中实时监控用户的执行情况,tps,响应时间,吞吐量,服务器资源使用情况;
2、性能测试也要关注客户端性能、资源情况
http协议一般以线程运行;java vuser一般以进程运行,如果以线程跑,会发现tps不高,压力不大,压力上不去;
3、集合点:lr_rendezvous("登录"); ---集合点置于开始事物之前;
三种集合策略:
1)当所有用户的%X到达集合点时释放----设置10个用户跑5分钟,10个用户均到达集合点才开始运行,5分钟剩余时间重复发请求,只集合一次;秒杀场景;
2)当所有正在运行的用户的%X到达集合点时释放;----- 可以用于分批次情况,且用户在不断地集合;类似分批对服务器产生压力,看服务器的及时处理能力;
3)当X个用户到达集合点就释放
作用:模拟瞬间的并发;
主要用于秒杀场景;
4、load generator
多台机器分担客户端性能;
(16g、16c的新机器可以发起2000并发)
准备工作:在另一台充当压力机的电脑上安装好load generator;在本机controller上配置好压力机,确认可以连接;
5、手工场景
打开controllor,设置为手工场景模式:
1)添加脚本
2)设置脚本
3)、设置运行报错后继续运行;
4·)、带宽限制,一般选择最大带宽;
5)确认脚本中有集合点
6)在controller里选中该脚本,并且点击Scenario---> Rendezvous
7) 点击Policy,进入集合点设置策略中
第一点:当所有用户的%X到达集合点时释放
第二点:当所有正在运行的用户的%X到达集合点时释放
8)load generator负载添加
打开load generators窗口,点击add添加压力机,输入安装好load generator的电脑ip以及平台类型,点击ok;
点击connect,测试能否连接成功
变成ready状态说明连接成功;
9)下拉修改运行脚本的load generators ip
10)场景设计后,执行