美文网首页分布式
基于Drools数据转发场景测试

基于Drools数据转发场景测试

作者: 淡淡的小番茄 | 来源:发表于2021-07-15 16:42 被阅读0次

环境信息

操作系统:CentOS Linux release 7.4.1708 (Core)

机器配置:8c 16g

规则信息

写了个简单个规则DRL文件,此规则对应我们业务场景的数据转发流程,非常有代表性。就是对数据进行账户、产品key、是否属于某个标签的过滤,脚本如下:

package drools.example;

import org.drools.example.api.namedkiesession.Message;

function int hasProductLabels(String deviceLabels,String labels){

  return deviceLabels.indexOf(labels)==-1?0:1;

}

rule "g1_mytest"

when

$msg : Message(orgId =='11111' && productKey=='cu3im1kts3rz8dSc')

&& eval(hasProductLabels('101,102,103',$msg.getProductLabels())>0)

then

end

rule "g1_mytest1"

when

$msg : Message(orgId =='11111' && productKey=='cu3im1kts3rz8dSc')

&& eval(hasProductLabels('101,102,103',$msg.getProductLabels())>0)

then

end

...

场景一 数据转发,1000规则,匹配100万次。

java -Dcom.sun.management.jmxremote.port=20217 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=172.30.xxx.yyy -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=. -jar drools-test.jar getForwardRules 10 1000000

通过jvisualvm.exe来监控相关资源使用情况:

场景二 数据转发,2000规则,匹配100万次。

场景三 数据转发,5000规则,匹配10万次。

场景四数据转发,10000规则,匹配10万次。

1万规则512M内存已经不够用,需要配置为1G。

java -Dcom.sun.management.jmxremote.port=20217 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=172.30.127.85 -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=. -jar drools-test.jar getForwardRules 100 100000

结论

相关文章

  • 基于Drools数据转发场景测试

    环境信息 操作系统:CentOS Linux release 7.4.1708 (Core) 机器配置:8c 16...

  • 基于Drools数据转发场景测试(二)

    背景 技术调研阶段,我们对Drools进行了简单的性能测试,模拟我们数据转发的场景,直接内存中构建msg然后触发,...

  • Drools动态加载规则

    使用Drools来做规则的动态加载比较简单,本人结合我们的数据转发场景,来具体说一说。主要使用了Drools的模板...

  • Drools集成SpringBootStarter

    1.说明 基于fast-drools-spring-boot-starter,能够方便的将规则引擎Drools集成...

  • MySQL 锁相关的优化案例

    备注:MySQL 5.5 测试数据:基于信息安全考虑,我自己创建的测试表,来模拟实际应用场景。 一.问题描述 最近...

  • 软件产品质量模型的重要性

    测试架构师知识体系中测试技术基础包括基于质量的测试和基于场景的测试,基于质量的测试的标准就是软件产品质量模型。 介...

  • 解决自动化测试可读性查,难以维护的几个思路

    1.抽离测试数据,数据驱动测试 (1)对于场景相同,仅仅是数据输入不同的场景,将测试数据抽离出来将避免大量重复代码...

  • 性能测试需求分析

    一、需求分析 业务分析 场景设置 心梗测试场景 业务场景-订单流程 测试数据准备 性能测试目标 订单流程的场景

  • CCNA-19、交换机工作原理

    转发方式 目前只用这种 MAC地址表 基于mac地址来交换机基于源mac来学习交换机基于目的mac来转发数据帧 过...

  • Drools介绍(1)

    Drools简介 Drools是一款基于Java的开源规则引擎,将规则与业务代码解耦。规则以脚本的形式存储在一个文...

网友评论

    本文标题:基于Drools数据转发场景测试

    本文链接:https://www.haomeiwen.com/subject/xzqmpltx.html