代码拉取完成,页面将自动刷新
同步操作将从 车江毅/lmc-autotest 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
小白实践流量录制后进行批量回放压测。
流量录制
/*通过sql流处理分批获取样本数据,然后写入到本地样本(sample)文件中*/
/*auto_tb_sample_chuanwu 类似表一般为用户表,用户可以通过下载模板上传特定流量,然后执行回放任务进行压测*/
/*auto_tb_sample_2022_11_17 类似表一般为sdk自动录制表,用户可以执行回放任务进行压测*/
/*筛选方式根据需求可以变化,本质上还是通过sql筛选;注意:筛选样本较多的话,压测初始化耗时会比较长一些,要耐心等待!若有异常勤看“执行日志”*/
var sql="select * from auto_tb_sample_"+api.nowFormat("yyyy_MM_dd")+" where url like '%dev%' and url like '%get%'";
api.streamSql2(sql,[],function (dataMap){
api.writeSample(dataMap);
})
/*在样本筛选的基础上,对本地样本文件中的部分请求进行过滤,比如特定业务请求或者错误请求或者无法访问的请求等*/
/*http无法访问的剔除*/
var r = api.ps.response;
if(r==null||r.code!=200)
{
api.error(["过滤错误请求",r]);
return false;
}
/*接口返回协议{code:200,msg:"",data:{}},code 非200的剔除;注意:每个公司业务协议都不一样*/
var r2 = JSON.parse(r.body);
if(r2==null||r2.code!=200)
{
api.error(["过滤错误业务请求",r]);
return false;
}
/*过滤样本时,减轻被压测端压力;当然目前默认是单线程的过滤*/
/*api.sleep(10)*/
/*压测时,定期心跳检测当前任务是否符合退出条件,进行任务退出关闭动作,一般会根据压测报告结果或者运行时间进行判断*/
/*此处举例吞吐量超过5000,运行时间超过10分钟则终止任务,特别注意nodeReport在任务刚启动的时候可能为null*/
if(api.ps.nodeReport!=null&&(api.ps.nodeReport.throughput>5000||api.ps.runtime>10*60)){
api.log(["结束",api.ps.nodeReport,api.ps.runtime]);
return false;
}
类似效果
by 车江毅
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。