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 的源代码没有任何更改。
刚测试完,感觉4.2.0的logger publisher是罪魁祸首。
请找到以下结果并分享您的意见(M=百万):
HTTP 接收器仅推送到事件流:
- 4.1 和 4.2 都能够推送 2.25M events/minute。
HTTP 接收器 + 下面的执行计划 + 记录器:
- 4.1: 1.25M events/minute.
- 4.2: 250K events/minute.
HTTP 接收器 + 下面的执行计划 + "NO" 记录器:
- 4.1: 2.25M events/minute.
- 4.2: 2.25M events/minute.
自定义文件接收器 + 下面的执行计划 + "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;
我已经用 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 的源代码没有任何更改。
刚测试完,感觉4.2.0的logger publisher是罪魁祸首。 请找到以下结果并分享您的意见(M=百万):
HTTP 接收器仅推送到事件流:
- 4.1 和 4.2 都能够推送 2.25M events/minute。
HTTP 接收器 + 下面的执行计划 + 记录器:
- 4.1: 1.25M events/minute.
- 4.2: 250K events/minute.
HTTP 接收器 + 下面的执行计划 + "NO" 记录器:
- 4.1: 2.25M events/minute.
- 4.2: 2.25M events/minute.
自定义文件接收器 + 下面的执行计划 + "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;