性能测试学习 第九课--LR12中controller基础知识
1、设计手工场景,理解集合点的策略
2、添加load generator
一、controller基础知识
1.controller的原理
通过场景设计来模拟用户的真实操作并调用vugen中的脚本,然后通过设置压力机产生压力,在场景运行中实时监控用户的执行情况,tps、响应时间、吞吐量、服务器资源使用情况
二、contrller
1.功能截图介绍
2.为什么java vuser协议以进程跑?
java vuser协议以线程跑,发现压力根本上不去,还需要实际操作进行研究。
3.创建集合点(实际性能测试的时候,使用集合点的情况不多,因为还没到这种轮番请求的测试场景之前,服务器一般已经扛不住一般的性能测试场景了)
1)在事物前一行右键,【insert】→【rendezvous】
2)如图,创建成功
2)回到contoller软件,重新选择想要压测的脚本,让集合点生效,进行集合点设置
3)集合点策略的三种方式
第一种:当X%个用户到达集合点时释放;
第二种:当X%个当前的并发用户到集合点时释放,类似于分批对服务器产生压力,看服务器的及时处理能力;
第三种:当X个用户到达集合点时释放
4)作用:1)模拟瞬间的并发,2)主要用于这种秒杀场景
登录脚本代码:
Action()
{
lr_save_string("120.78.128.25:8765","IP");
//关联登录成功
web_reg_save_param_ex(
"ParamName=success",
"LB=<p class=\"success\">",
"RB=</p>",
//"DFEs=test",
//"NotFound=warning",
"Ordinal=1",
//"SaveOffset=2",
//"SaveLen=3",
SEARCH_FILTERS,
"Scope=ALL",
//"RelFrameID=1",
//"RequestUrl=testURL",
//"ContentType=text/html",
LAST ); //登录成功
lr_rendezvous("登录");//创建集合点 lr_start_transaction("登录成功"); web_submit_data("web_submit_data",
"Action=http://{IP}/Frontend/Index/login",
"Method=POST",
"TargetFrame=",
"RecContentType=application/json, text/javascript, */*; q=0.01",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Referer=http://{IP}/Index/login.html",
"Snapshot=t22.inf",
"Mode=HTML",
ITEMDATA,
"Name=phone", "Value=13825161923", ENDITEM,
"Name=password", "Value=lemon123", ENDITEM,
"Name=vcode", "Value=", ENDITEM,
"Name=remember_me", "Value=1", ENDITEM,
"Name=notify_url", "Value=", ENDITEM,
LAST ); //判断是否登录成功
//strcmp(str1,str2):比较两str的大小
lr_convert_string_encoding(lr_eval_string("{success}"),"utf-8",NULL,"Success"); //将乱码的“登录成功”转码为汉字格式
if(strcmp(lr_eval_string("{Success}"),"登录成功")==0)
{
lr_end_transaction("登录成功",LR_PASS);
lr_output_message("本次登录状态是:%s",lr_eval_string("{Success}"));
}
else
{
lr_end_transaction("登录成功",LR_FAIL);
} return 0;
}
4.添加压力机,点击下拉框,添加后,在name框中输入压力机的ip
5.如何测试压力机是否连接成功?
6.如何确认服务器的最大并发数?
Edit Action设置,通过设置间隔时间跟每次间隔时间的增加数量,不断提高并发数,以此来观察服务器资源使用情况,当资源使用率 达到最高点时,基本得出服务器的最大并发范围,不至于随意压测将服务崩掉。
7.如何造场景数据?比如:50个用户迭代100,形成5000条数据
1)先设置迭代次数,比如100
2)然后设置并发数50,
3)最后得到50*100条数据
三、遇到问题
1、在刚使用lr时,勾选了红色框百分比,在后续使用中发现如下问题
勾选之后的界面,多了百分比,没有localhost,不能对集合点进行设置,因为是置灰的
最新文章
- [原创]快速指定SQLDeveloper所使用JDK的方法
- codeforces 493B.Vasya and Wrestling 解题报告
- C# XML操作
- PHP+MYSQL+AJAX实现每日签到功能
- MySql 定时备份数据库
- js prototype新感悟
- SAP BW 平面文件创建信息立方体
- 29个你必须知道的Linux命令
- php如何计算两个时间戳之间相差的日时分秒
- 搞Solr这一年(本人QQ 282335345 群412268049 欢迎大家一起学习Solr 非诚勿扰)
- maven之pom
- Inno Setup入门(十三)&mdash;&mdash;Pascal脚本(2)
- 每周问题系列 - JavaFX界面没响应,Maven编译自动忽略rt包
- socket__服务端于客户端
- git(2)----Git的常用撤销技巧与解决冲突方法
- will not be managed by Spring/ [managed: 15; max: 15]
- Ubuntu解决没有可安装候选软件包
- SPOJ LCS - Longest Common Substring 字符串 SAM
- win10 hyper-v 外网设置
- Office Web Apps Server