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