WSO2 CEP:4.2.0 接收器比 4.1.0 慢

WSO2 CEP : 4.2.0 receiver slower than 4.1.0

我已经用 WSO2 CEP 4.1.0 和 4.2.0 测试了 HTTP 接收器。 使用相同的数据集、流、执行计划(仅事件计数机智 1 分钟 window),发布者(记录器)4.1.0 能够处理 1M/分钟,但 4.2.0 可以达到 200K-300K/分钟。

用我的自定义文件接收器进行了相同的测试,发现与上述相似的结果。

顺便说一句,我已经在我的笔记本电脑上测试过了,3 MB 的文件有 1000 万条记录。

谢谢,奥贝德

这不可能从 HTTP 接收端发生,根据 carbon-analyics-common 的源代码,4.1.0 [1] 和 4.2.0 [2] 没有重大变化。唯一的变化是是否为基本身份验证添加了检查。这可能是其他问题。特别是我们也可以检查执行计划。如果您可以尝试使用 wso2event 适配器进行相同的测试,它会更好,wso2event 适配器对包含 4.1.0 [3] 和 4.2.0 [4] 的 carbon-analyics-common 的源代码没有任何更改。

[1] https://github.com/wso2/carbon-analytics-common/tree/release-5.0.10/components/event-receiver/event-input-adapters/org.wso2.carbon.event.input.adapter.http/src/main/java/org/wso2/carbon/event/input/adapter/http

[2] https://github.com/wso2/carbon-analytics-common/tree/release-5.1.3/components/event-receiver/event-input-adapters/org.wso2.carbon.event.input.adapter.http/src/main/java/org/wso2/carbon/event/input/adapter/http

[3] https://github.com/wso2/carbon-analytics-common/tree/release-5.0.10/components/event-receiver/event-input-adapters/org.wso2.carbon.event.input.adapter.wso2event/src/main

[4]https://github.com/wso2/carbon-analytics-common/tree/release-5.1.3/components/event-receiver/event-input-adapters/org.wso2.carbon.event.input.adapter.wso2event/src/main/java/org/wso2/carbon/event/input/adapter/wso2event

刚测试完,感觉4.2.0的logger publisher是罪魁祸首。 请找到以下结果并分享您的意见(M=百万):

  1. HTTP 接收器仅推送到事件流:

    • 4.1 和 4.2 都能够推送 2.25M events/minute。
  2. HTTP 接收器 + 下面的执行计划 + 记录器:

    • 4.1: 1.25M events/minute.
    • 4.2: 250K events/minute.
  3. HTTP 接收器 + 下面的执行计划 + "NO" 记录器:

    • 4.1: 2.25M events/minute.
    • 4.2: 2.25M events/minute.
  4. 自定义文件接收器 + 下面的执行计划 + "NO" 记录器:

    • 4.1: 1.5M events/minute.
    • 4.2: 3M events/minute(我很惊讶)

执行计划:

@Import('subsApps:1.0.0')
define stream subsApps (meta_app_name string, correlation_imsi long, volume double);

@Export('subsCount:1.0.0')
define stream subsCount (meta_counts long);

from subsApps#window.time( 1 min ) 
select count() as meta_counts 
insert into subsCount;