Utilice los datos de pruebas de rendimiento a continuación para evaluar y planificar la configuración de recursos en tareas de flujo de eventos de EventBridge según distintos escenarios.
Esta prueba está optimizada para baja latencia. Si su escenario prioriza el throughput y no es sensible a la latencia, el rendimiento real podría ser superior.
Pruebas de rendimiento de un topic de Kafka a un topic de Kafka
Configuración del entorno de prueba
Especificaciones de la instancia de Kafka
|
Elemento de configuración |
Instancia ascendente |
Instancia descendente |
|
Tipo de especificación |
Standard Edition (High-write) |
Standard Edition (High-write) |
|
Tipo de instancia |
Instancia conectada a Internet y VPC |
Instancia conectada a Internet y VPC |
|
Especificación de tráfico |
alikafka.hw.2xlarge Tráfico máximo de lectura 20 MB/s Tráfico máximo de escritura 20 MB/s |
alikafka.hw.2xlarge Tráfico máximo de lectura 20 MB/s Tráfico máximo de escritura 20 MB/s |
|
Tráfico de Internet |
81 Mbps |
81 Mbps |
|
Tipo de disco |
Ultra disk |
Ultra disk |
|
Capacidad del disco |
900 GB Capacidad de almacenamiento 300 GB Capacidad de copia de seguridad 600 GB |
900 GB Capacidad de almacenamiento 300 GB Capacidad de copia de seguridad 600 GB |
|
Versión |
2.6.2 |
2.6.2 |
|
Categoría del topic |
Mensaje normal |
Mensaje normal |
|
Tamaño del mensaje |
1 KB |
1 KB |
|
Contenido del mensaje |
Key: null Body: Cadena aleatoria |
Key: null Body: Cadena aleatoria |
Parámetros de la tarea de flujo de eventos
Configuración del origen
|
Parámetro |
Valor |
|
Configuración de red |
Classic Network |
|
Formato de datos |
Binary |
Configuración del destino
|
Parámetro |
Valor |
|
Modo de confirmación (ack) |
None |
|
Cuerpo del mensaje (Value) |
Extracción binaria: $.data.value |
|
Clave del mensaje (Key) |
$.data.key |
Configuración avanzada
|
Parámetro |
Valor |
|
Tamaño de envío por lotes |
100 |
|
Intervalo de envío por lotes (segundos) |
0 |
Método de prueba
Un productor escribe datos en la instancia de Kafka de origen con los siguientes parámetros de envío por lotes:
Tiempo máximo de espera por lote: 50 ms
Ventana de envío por lotes: 100 mensajes
Resultados de la prueba
|
CU mínimas |
CU máximas |
Tasa de procesamiento de eventos (eventos/s) |
Throughput (MB/s) |
Latencia (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 |
Los siguientes factores afectan significativamente el rendimiento del flujo de eventos:
Envío por lotes del productor: Deshabilitar el envío por lotes reduce la capacidad de procesamiento de una unidad de capacidad (CU) en aproximadamente un 50 %.
Tamaño del mensaje: Los mensajes individuales grandes reducen la capacidad de procesamiento de la CU.
Configuración de lotes del flujo de eventos: Deshabilitar la ventana de envío por lotes reduce la capacidad de procesamiento de la CU.
Tiempo de respuesta descendente: Una latencia alta en la respuesta descendente reduce la capacidad de procesamiento de la CU.
Formato de datos: Utilizar el formato JSON reduce la capacidad de procesamiento de la CU. El impacto aumenta conforme crece la complejidad de la estructura.
Compresión de mensajes: Aplicar compresión de mensajes en la instancia de Kafka de origen reduce la capacidad de procesamiento de la CU.
Pruebas de rendimiento de un topic de RocketMQ a un topic de RocketMQ
Configuración del entorno de prueba
Especificaciones de la instancia de RocketMQ
|
Elemento de configuración |
Instancia ascendente |
Instancia descendente |
|
Serie principal |
Platinum Edition |
Platinum Edition |
|
Subserie |
Cluster High-availability Edition |
Cluster High-availability Edition |
|
Versión de la instancia |
5.0-rmq-20250410-1 |
5.0-rmq-20250410-1 |
|
Tipo de instancia |
rmq.u2.10xlarge |
rmq.u2.10xlarge |
|
Ancho de banda público |
Ancho de banda fijo 51 Mb/s |
Ancho de banda fijo 10 Mb/s |
|
TPS máximo de envío/recepción |
5,000 para envío / 5,000 para recepción |
5,000 para envío / 5,000 para recepción |
|
TPS elástico máximo de envío/recepción |
10,000 para envío / 10,000 para recepción |
2,500 para envío / 2,500 para recepción |
|
Categoría del topic |
Mensaje normal |
Mensaje normal |
|
Tamaño del mensaje |
1 KB |
1 KB |
|
Contenido del mensaje |
Properties: Predeterminado del sistema Body: Cadena aleatoria |
Properties: Predeterminado del sistema Body: Cadena aleatoria |
Parámetros de la tarea de flujo de eventos
Configuración del origen
|
Parámetro |
Valor |
|
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 |
Configuración del destino
|
Parámetro |
Configuración |
|
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" |
Configuración avanzada
|
Parámetro |
Valor |
|
ErrorsTolerance |
NONE |
|
RetryStrategy |
PushRetryStrategy: "EXPONENTIAL_DECAY_RETRY" |
|
BusinessOption |
BusinessMode: "CapacityUnitMode" MaxCapacityUnitCount: "4" MinCapacityUnitCount: "4" |
Método de prueba
En esta prueba, se envían mensajes individuales de 1 KB con contenido aleatorio al topic ascendente.
Resultados de la prueba
|
CU mínimas |
CU máximas |
Tasa de procesamiento de eventos (eventos/s) |
Latencia (ms) |
|
1 |
1 |
500 |
Aproximadamente 150 |
|
2 |
2 |
1,000 |
110-180 |
|
3 |
3 |
1,500 |
125-218 |
|
4 |
4 |
2,000 |
140-218 |