diff --git a/changes/v4.4.17-en.md b/changes/v4.4.17-en.md index ab4fcf701..4044b6bdf 100644 --- a/changes/v4.4.17-en.md +++ b/changes/v4.4.17-en.md @@ -21,6 +21,11 @@ [error] Accept error on 0.0.0.0:1883: EMFILE (Too many open files) ``` +- Improve the performance of the rule engine when there are many rules [#10283](https://github.com/emqx/emqx/pull/10283) + Before this change, when there were many rules, the execution of the rule engine became a bottleneck, it consumed a lot of CPU time on rule queries and matches. + In this optimization, the efficiency of rule execution in this scenario was greatly improved by simply adding a cache to the rule list. + In our tests (with over 700 rules), the rule engine achieved a performance improvement of about 5 times after applying this optimization. + ## Bug fixes - Fix that `Erlang distribution` can't use TLS [#9981](https://github.com/emqx/emqx/pull/9981). diff --git a/changes/v4.4.17-zh.md b/changes/v4.4.17-zh.md index 42f84ac6e..34a19d23e 100644 --- a/changes/v4.4.17-zh.md +++ b/changes/v4.4.17-zh.md @@ -20,6 +20,11 @@ [error] Accept error on 0.0.0.0:1883: EMFILE (Too many open files) ``` +- 提升规则数量较多时规则引擎的执行性能 [#10283](https://github.com/emqx/emqx/pull/10283) + 在此改动之前,当规则数量比较多的时候,规则引擎的执行会成为瓶颈,规则引擎将耗费大量 CPU 在规则的查询和匹配上。 + 本次优化中,通过简单地给规则列表添加一个缓存,大幅提升了此场景下的规则执行效率。 + 在我们的测试中(700多条规则),应用此优化后规则引擎获得了 5 倍左右的性能提升。 + ## 修复 - 修复 `Erlang distribution` 无法使用 TLS 的问题 [#9981](https://github.com/emqx/emqx/pull/9981)。 @@ -33,4 +38,4 @@ 问题详情见 [#9409](https://github.com/emqx/emqx/issues/9409)。 在此修复中,我们给 `emqx_retainer` 插件创建了单独的进程池,从而避免了该问题。 -- 修复了 Helm Chart 中模板文件路径的错误。[#10229](https://github.com/emqx/emqx/pull/10229) \ No newline at end of file +- 修复了 Helm Chart 中模板文件路径的错误。[#10229](https://github.com/emqx/emqx/pull/10229)