本文档提供 EventBridge 事件流在不同场景下的性能测试数据,帮助您评估和规划事件流任务的资源配置。
本测试以低延迟为优化目标。如果您的场景优先考虑吞吐量且对延迟不敏感,实际性能表现可能更好。
Kafka Topic 到 Kafka Topic 性能测试
测试环境配置
Kafka 实例规格
配置项 | 上游实例 | 下游实例 |
规格类型 | 标准版(高写版) | 标准版(高写版) |
实例类型 | 公网/VPC实例 | 公网/VPC实例 |
流量规格 | alikafka.hw.2xlarge 读流量峰值 20 MB/s 写流量峰值 20 MB/s | alikafka.hw.2xlarge 读流量峰值 20 MB/s 写流量峰值 20 MB/s |
公网流量 | 81 Mbps | 81 Mbps |
磁盘类型 | 高效云盘 | 高效云盘 |
磁盘容量 | 900 GB 存储容量 300 GB 备份容量 600 GB | 900 GB 存储容量 300 GB 备份容量 600 GB |
版本 | 2.6.2 | 2.6.2 |
Topic类型 | 普通消息 | 普通消息 |
消息大小 | 1KB | 1KB |
消息内容 | Key: null Body: 随机字符串 | Key: null Body: 随机字符串 |
事件流任务参数
Source 配置
参数 | 值 |
网络配置 | 基础网络 |
数据格式 | Binary |
Sink 配置
参数 | 值 |
确认模式(ack) | None |
消息体(Value) | 二进制提取:$.data.value |
消息键值(Key) | $.data.key |
高级配置
参数 | 值 |
批量推送条数 | 100 |
批量推送间隔(秒) | 0 |
测试方法
配置生产者向源端 Kafka 写入数据,使用以下批量发送参数:
最大批量等待时间:50ms
批量发送窗口:100 条消息
测试结果
最小 CU | 最大 CU | 事件处理速率(Event/s) | 吞吐量(MB/s) | 延迟(ms) |
1 | 1 | 1,500 | 1.5 | 70-80 |
2 | 2 | 4,000 | 4 | 70-90 |
3 | 3 | 6,000 | 6 | 80-100 |
4 | 4 | 8,000 | 8 | 80-120 |
以下因素会显著影响事件流性能:
生产者批量发送:关闭批量发送会导致 CU 处理能力下降约 50%
消息大小:单条消息过大会降低 CU 处理能力
事件流批量配置:关闭批量推送窗口会降低 CU 处理能力
下游响应时间:下游响应延迟过高会降低 CU 处理能力
数据格式:使用 JSON 格式会降低 CU 处理能力,结构越复杂影响越大
消息压缩:源端 Kafka 使用消息压缩会降低 CU 处理能力
RocketMQ Topic 到 RocketMQ Topic 性能测试
测试环境配置
RocketMQ 实例规格
配置项 | 上游实例 | 下游实例 |
主系列 | 铂金版 | 铂金版 |
子系列 | 集群高可用版 | 集群高可用版 |
实例版本 | 5.0-rmq-20250410-1 | 5.0-rmq-20250410-1 |
实例规格 | rmq.u2.10xlarge | rmq.u2.10xlarge |
公网带宽 | 固定带宽 51 Mb/s | 固定带宽 10 Mb/s |
收发 TPS 峰值 | 5,000 发送 / 5,000 接收 | 5,000 发送 / 5,000 接收 |
弹性收发 TPS 峰值 | 10,000 发送 / 10,000 接收 | 2,500 发送 / 2,500 接收 |
Topic 类型 | 普通消息 | 普通消息 |
消息大小 | 1KB | 1KB |
消息内容 | Properties: 系统默认 Body: 随机字符串 | Properties: 系统默认 Body: 随机字符串 |
事件流任务参数
Source 配置
参数 | 值 |
RegionId | cn-hangzhou |
InstanceId | rmq-cn-xxx |
Topic | test_perf |
GroupID | GID_EVENTBRIDGE_xxx |
InstanceType | Cloud_5 |
InstanceVpcId | vpc-xxx |
InstanceVSwitchIds | vsw-xxx |
InstanceSecurityGroupId | sg-xxx |
InstanceNetwork | PrivateNetwork |
Sink 配置
参数 | 配置 |
InstanceId | Value: "rmq-cn-xxx", Form: "CONSTANT" |
Topic | Value: "test_perf", Form: "CONSTANT" |
Body | Value: "$.data.body", Form: "BINARY_EXTRACTION" |
Properties | Value: "{\"userProperties\":\"$.data.userProperties\",\"msgId\":\"$.data.systemProperties.UNIQ_KEY\"}" Form: "TEMPLATE" Template: "{\"EB_SYS_EMBED_OBJECT\":\"${userProperties}\",\"UNIQ_KEY\":\"${msgId}\"}" |
Keys | Value: "$.data.systemProperties.KEYS", Form: "JSONPATH" |
Tags | Value: "$.data.systemProperties.TAGS", Form: "JSONPATH" |
InstanceType | Value: "SelfBuilt", Form: "CONSTANT" |
VpcId | Value: "vpc-xxx", Form: "CONSTANT" |
VSwitchIds | Value: "vsw-xxx", Form: "CONSTANT" |
SecurityGroupId | Value: "sg-xxx", Form: "CONSTANT" |
InstanceUsername | Value: "xxx", Form: "CONSTANT" |
InstancePassword | Value: "xxx", Form: "CONSTANT" |
DeliveryOrderType | Value: "Concurrently", Form: "CONSTANT" |
Network | Value: "PrivateNetwork", Form: "CONSTANT" |
InstanceEndpoint | Value: "rmq-cn-xxx-vpc.cn-hangzhou.rmq.aliyuncs.com:8080", Form: "CONSTANT" |
高级配置
参数 | 值 |
ErrorsTolerance | NONE |
RetryStrategy | PushRetryStrategy: "EXPONENTIAL_DECAY_RETRY" |
BusinessOption | BusinessMode: "CapacityUnitMode" MaxCapacityUnitCount: "4" MinCapacityUnitCount: "4" |
测试方法
向上游 Topic 逐条发送长度为 1KB 的随机内容消息。
测试结果
最小 CU | 最大 CU | 事件处理速率(Event/s) | 延迟(ms) |
1 | 1 | 500 | 约 150 |
2 | 2 | 1,000 | 110-180 |
3 | 3 | 1,500 | 125-218 |
4 | 4 | 2,000 | 140-218 |