当前位置:网站首页>动态模型中嵌入静态模型实践
动态模型中嵌入静态模型实践
2022-08-01 14:10:00 【InfoQ】
- 设置步长
- 增减步长
- 终止测试
思路
private class FunTester implements IFunController {
boolean inputKey = true;
/**
* 控制
*/
boolean autoKey = false
@Override
public void run() {
while (inputKey) {
String input = getInput();
switch (input) {
case "+":
add();
break;
case "-":
reduce();
break;
case "*":
over();
break;
case "/":
autoKey = true
break;
default:
if (Regex.isMatch(input, "(F|f)\\d+")) QPS_STEP = changeStringToInt(input.substring(1));
if (Regex.isMatch(input, "(T|t)\\d+(D|d)\\d+")) {
def split = (input - "T" - "t").split(/(d|D)/)
autoTarget(split[0] as int, split[1] as int)
}
if (Regex.isMatch(input, "(A|a)-{0,1}\\d+(D|d)\\d+")) {
def split = (input - "A" - "a").split(/(d|D)/)
autoAdd(split[0] as int, split[1] as int)
}
break;
}
}
}
/**
* 自动控制递增功能,以目标值计算
* @param target 目标QPS
* @param duration 持续时间
* @return
*/
def autoTarget(int target, duration) {
fun {
for (i in 0..<duration) {
if (autoKey) break
qps += (target - qps) / duration
sleep(1.0)
}
if (!autoKey) qps = target
autoKey = false
}
}
/**
* 自动控制递增功能,以增加值计算
* @param sum
* @param duration
* @return
*/
def autoAdd(int sum, duration) {
fun {
int q = qps
for (i in 0..<duration) {
if (autoKey) break
qps += sum / duration
sleep(1.0)
}
if (!autoKey) qps = q + sum
autoKey = false
}
}
@Override
public void add() {
qps += QPS_STEP
}
@Override
public void reduce() {
qps -= QPS_STEP
if (qps < 1) over()
}
@Override
public void over() {
inputKey = false
key = false
logger.info("动态结束任务!");
}
}
/- 性能测试专题
- Java、Groovy、Go、Python
- 单测&白盒
- FunTester社群风采
- 测试理论鸡汤
- 接口功能测试专题
- FunTester视频专题
- 案例分享:方案、BUG、爬虫
- UI自动化专题
- 测试工具专题
阅读原文,跳转我的仓库地址边栏推荐
- 利用UIRecorder做页面元素巡检
- 使用ffmpeg来查看视频的信息,fps,和width,height
- 超全!全国近90所大学考研报录比汇总!
- Gradle系列——Gradle测试,Gradle生命周期,settings.gradle说明,Gradle任务(基于Groovy文档4.0.4)day2-3
- 论文笔记All about Eve: Execute-Verify Replication for Multi-Core Servers
- 我寻找的方向
- 细读《阿里测试之道》
- CCS软件安装教程(超级详细)「建议收藏」
- Pytorch —— 分布式模型训练
- Amperon IPO meeting: annual revenue of 500 million Tongchuang Weiye and China Mobile Innovation are shareholders
猜你喜欢

Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹
![[LiteratureReview]Optimal and Robust Category-level Perception: Object Pose and Shape Estimation f](/img/bc/f3cea50c157f151a1ca5e540e7f77b.png)
[LiteratureReview]Optimal and Robust Category-level Perception: Object Pose and Shape Estimation f

mysql的基本使用

荣信文化通过注册:年营收3.8亿 王艺桦夫妇为实控人

经纬信息IPO过会:年营收3.5亿 叶肖华控制46.3%股权

【无标题】

使用open3d可视化3d人脸

PyTorch 进阶之路:在 GPU 上训练深度神经网络

Qt实战案例(56)——利用QProcess实现应用程序重启功能

PAT 1167 Cartesian Tree(30)
随机推荐
MBI5020 LED Driver
性能测试入门指南
Istio投入生产的障碍以及如何解决这些问题
热心肠:关于肠道菌群和益生菌的10个观点
搭建LNMT架构
Longkou united chemical registration: through 550 million revenue xiu-mei li control 92.5% stake
Efficiency tools to let programmers get off work earlier
性能优化——资源优化笔记
NFV迈向云原生时代:Network Service Mesh项目介绍
微服务系统架构的演变
软件测试之发现和解决bug
微服务原生案例搭建
牛客刷SQL--7
透过现象看本质,如何针对用户做好需求分析
Istio Pilot代码深度解析
xmind2testcase:高效的测试用例导出工具
openEuler 社区完成首批顾问专家聘用,共同为社区的发展贡献力量
leetcode.26 删除有序数组中的重复项(set/直接遍历)
测试如何拓展自己的知识面?
代理商替代义隆153 Aip4210