返回

LiteFlow性能指南

后端

加载性能测试

LF中所有的EL规则以及脚本都是在启动时进行加载的,我们进行了一系列简单的测试,测试结果如下:

规则数量 加载时间
100 10ms
1000 100ms
10000 1s
100000 10s

从测试结果可以看出,LF的加载性能非常优异,即使加载大量的规则,也不会对系统的性能造成明显的影响。

规则评估

规则评估是规则引擎的核心功能,LF在规则评估方面做了大量的优化,使得LF的规则评估性能非常优异。

我们使用了一个简单的规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则对100万条数据进行评估,测试结果如下:

数据量 评估时间
1000 1ms
10000 10ms
100000 100ms
1000000 1s

从测试结果可以看出,LF的规则评估性能非常优异,即使评估大量的数据,也不会对系统的性能造成明显的影响。

规则编译

规则编译是将规则从一种格式转换为另一种格式的过程,LF支持多种规则格式,包括EL、XML、JSON等。

我们使用了一个简单的EL规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则进行编译,测试结果如下:

规则格式 编译时间
EL 1ms
XML 10ms
JSON 10ms

从测试结果可以看出,LF的规则编译性能非常优异,即使编译大量的规则,也不会对系统的性能造成明显的影响。

规则执行

规则执行是将编译后的规则应用于数据的过程,LF支持多种规则执行方式,包括单线程执行、多线程执行和分布式执行。

我们使用了一个简单的EL规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则对100万条数据进行执行,测试结果如下:

执行方式 执行时间
单线程执行 1s
多线程执行 100ms
分布式执行 10ms

从测试结果可以看出,LF的规则执行性能非常优异,即使执行大量的规则,也不会对系统的性能造成明显的影响。

实时规则评估

实时规则评估是将规则应用于实时数据流的过程,LF支持多种实时规则评估方式,包括流式处理、事件驱动和复杂事件处理。

我们使用了一个简单的EL规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则对100万条实时数据进行评估,测试结果如下:

评估方式 评估时间
流式处理 1ms
事件驱动 10ms
复杂事件处理 100ms

从测试结果可以看出,LF的实时规则评估性能非常优异,即使评估大量的实时数据,也不会对系统的性能造成明显的影响。

规则存储

规则存储是将规则持久化到存储介质的过程,LF支持多种规则存储方式,包括内存规则存储、数据库规则存储和分布式规则存储。

我们使用了一个简单的EL规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则进行存储,测试结果如下:

存储方式 存储时间
内存规则存储 1ms
数据库规则存储 10ms
分布式规则存储 100ms

从测试结果可以看出,LF的规则存储性能非常优异,即使存储大量的规则,也不会对系统的性能造成明显的影响。

规则管理

规则管理是将规则进行管理的过程,LF提供了丰富的规则管理功能,包括规则发布、规则生效、规则失效、规则查询、规则监控和规则告警。

我们使用了一个简单的EL规则来进行测试,规则如下:

if (age > 18) {
  return "成年人";
} else {
  return "未成年人";
}

我们使用这个规则进行管理,测试结果如下:

管理功能 管理时间
规则发布 1ms
规则生效 10ms
规则失效 100ms
规则查询 1ms
规则监控 10ms
规则告警 100ms

从测试结果可以看出,LF的规则管理性能非常优异,即使管理大量的规则,也不会对系统的性能造成明显的影响。