EventBridge 事件流性能白皮书

本文档提供 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

说明

以下因素会显著影响事件流性能:

  1. 生产者批量发送:关闭批量发送会导致 CU 处理能力下降约 50%

  2. 消息大小:单条消息过大会降低 CU 处理能力

  3. 事件流批量配置:关闭批量推送窗口会降低 CU 处理能力

  4. 下游响应时间:下游响应延迟过高会降低 CU 处理能力

  5. 数据格式:使用 JSON 格式会降低 CU 处理能力,结构越复杂影响越大

  6. 消息压缩:源端 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