Utilisez les données de test de performance ci-dessous pour évaluer et planifier les configurations de ressources des tâches de flux d'événements EventBridge dans différents scénarios.
Ce test est optimisé pour une faible latence. Si votre scénario privilégie le débit et n'est pas sensible à la latence, les performances réelles peuvent être supérieures.
Test de performance d'un topic Kafka vers un topic Kafka
Configuration de l'environnement de test
Spécifications de l'instance Kafka
|
Élément de configuration |
Instance en amont |
Instance en aval |
|
Type de spécification |
Édition standard (écriture intensive) |
Édition standard (écriture intensive) |
|
Type d'instance |
Instance connectée via Internet et VPC |
Instance connectée via Internet et VPC |
|
Spécification du trafic |
alikafka.hw.2xlarge Trafic de lecture maximal 20 Mo/s Trafic d'écriture maximal 20 Mo/s |
alikafka.hw.2xlarge Trafic de lecture maximal 20 Mo/s Trafic d'écriture maximal 20 Mo/s |
|
Trafic Internet |
81 Mbit/s |
81 Mbit/s |
|
Type de disque |
Disque ultra |
Disque ultra |
|
Capacité du disque |
900 Go Capacité de stockage 300 Go Capacité de sauvegarde 600 Go |
900 Go Capacité de stockage 300 Go Capacité de sauvegarde 600 Go |
|
Version |
2.6.2 |
2.6.2 |
|
Catégorie de topic |
Message normal |
Message normal |
|
Taille du message |
1 Ko |
1 Ko |
|
Contenu du message |
Clé : null Corps : Chaîne aléatoire |
Clé : null Corps : Chaîne aléatoire |
Paramètres de la tâche de flux d'événements
Configuration source
|
Paramètre |
Valeur |
|
Configuration réseau |
Réseau classique |
|
Format des données |
Binaire |
Configuration du puits (Sink)
|
Paramètre |
Valeur |
|
Mode d'accusé de réception (ack) |
Aucun |
|
Corps du message (Value) |
Extraction binaire : $.data.value |
|
Clé du message (Key) |
$.data.key |
Configuration avancée
|
Paramètre |
Valeur |
|
Taille du lot d'envoi |
100 |
|
Intervalle d'envoi par lot (secondes) |
0 |
Méthode de test
Un producteur écrit des données dans l'instance Kafka source avec les paramètres d'envoi par lot suivants :
Temps d'attente maximal par lot : 50 ms
Fenêtre d'envoi par lot : 100 messages
Résultats du test
|
Unités de capacité (CU) minimales |
Unités de capacité (CU) maximales |
Taux de traitement des événements (événements/s) |
Débit (Mo/s) |
Latence (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 |
Les facteurs suivants ont un impact significatif sur les performances des flux d'événements :
Envoi par lot du producteur : La désactivation de l'envoi par lot réduit la capacité de traitement d'une unité de capacité (CU) d'environ 50 %.
Taille du message : Des messages individuels volumineux réduisent la capacité de traitement des CU.
Configuration par lot du flux d'événements : La désactivation de la fenêtre d'envoi par lot réduit la capacité de traitement des CU.
Temps de réponse en aval : Une latence élevée de la réponse en aval réduit la capacité de traitement des CU.
Format des données : L'utilisation du format JSON réduit la capacité de traitement des CU. Plus la structure est complexe, plus l'impact est important.
Compression des messages : L'utilisation de la compression des messages sur l'instance Kafka source réduit la capacité de traitement des CU.
Test de performance d'un topic RocketMQ vers un topic RocketMQ
Configuration de l'environnement de test
Spécifications de l'instance RocketMQ
|
Élément de configuration |
Instance en amont |
Instance en aval |
|
Série principale |
Édition Platinum |
Édition Platinum |
|
Sous-série |
Édition haute disponibilité de cluster |
Édition haute disponibilité de cluster |
|
Version de l'instance |
5,0-rmq-20250410-1 |
5,0-rmq-20250410-1 |
|
Type d'instance |
rmq.u2.10xlarge |
rmq.u2.10xlarge |
|
Bande passante publique |
Bande passante fixe 51 Mbit/s |
Bande passante fixe 10 Mbit/s |
|
TPS maximal pour l'envoi/réception |
5 000 pour l'envoi / 5 000 pour la réception |
5 000 pour l'envoi / 5 000 pour la réception |
|
TPS élastique maximal pour l'envoi/réception |
10 000 pour l'envoi / 10 000 pour la réception |
2 500 pour l'envoi / 2 500 pour la réception |
|
Catégorie de topic |
Message normal |
Message normal |
|
Taille du message |
1 Ko |
1 Ko |
|
Contenu du message |
Propriétés : Valeur par défaut du système Corps : Chaîne aléatoire |
Propriétés : Valeur par défaut du système Corps : Chaîne aléatoire |
Paramètres de la tâche de flux d'événements
Configuration source
|
Paramètre |
Valeur |
|
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 |
Configuration du puits (Sink)
|
Paramètre |
Configuration |
|
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" |
Configuration avancée
|
Paramètre |
Valeur |
|
ErrorsTolerance |
NONE |
|
RetryStrategy |
PushRetryStrategy: "EXPONENTIAL_DECAY_RETRY" |
|
BusinessOption |
BusinessMode: "CapacityUnitMode" MaxCapacityUnitCount: "4" MinCapacityUnitCount: "4" |
Méthode de test
Dans ce test, des messages de 1 Ko au contenu aléatoire sont envoyés individuellement au topic en amont.
Résultats du test
|
Unités de capacité (CU) minimales |
Unités de capacité (CU) maximales |
Taux de traitement des événements (événements/s) |
Latence (ms) |
|
1 |
1 |
500 |
Environ 150 |
|
2 |
2 |
1 000 |
110-180 |
|
3 |
3 |
1 500 |
125-218 |
|
4 |
4 |
2 000 |
140-218 |