Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Docs Menu
Docs Home
/ /

Guía de selección de niveles de Atlas Stream Processing

Atlas Stream Processing asigna recursos por procesador de flujo de acuerdo con Niveles. La asignación fija de recursos y el costo proporcionan previsibilidad, lo que simplifica el proceso de diseño del sistema. Utilice esta guía para comprender qué niveles son los más adecuados para sus cargas de trabajo de procesamiento de flujos al planificar una implementación.

Cada nivel proporciona una asignación fija de potencia de procesamiento, memoria, ancho de banda, paralelismo y, en el caso de procesadores con Apache Kafka fuentes—particiones.

Nivel
vCPU
RAM (GB)
Ancho de banda (Mbps)
Máximo paralelismo
Límite de partición de Kafka de origen

SP2

0.25

0.5

50

1

32

SP5

0.5

1

125

2

64

SP10

1

2

200

8

Ilimitado

SP30

2

8

750

16

Ilimitado

SP50

8

32

2500

64

Ilimitado

La distinta asignación de recursos de cada nivel los hace adecuados para diferentes etapas y escalas de proyectos.

Nivel
Caso de uso

SP2

Desarrollo, implementación de prueba

La opción de menor coste, capaz de soportar cargas de trabajo sencillas con requisitos de recursos limitados.

SP5

Desarrollo, Implementación de Producción Básica

Una opción económica adecuada para tareas de producción con bajo rendimiento, incluso aquellas que emplean cálculos más complejos. Los procesadores SP5 admiten filtrado básico, proyecciones y procesamiento de flujos de cambios.

SP10

Implementación en la producción convencional

Un nivel básico para cargas de trabajo de producción. SP10 y superiores están diseñados para pipelines que requieren mayores niveles de paralelismo, particionamiento ilimitado de Kafka u operaciones de enriquecimiento de datos, como búsquedas y uniones.

SP30

Despliegue de producción complejo

Una opción de alto rendimiento diseñada para operaciones de estado que requieren mucha memoria. SP30 admite canalizaciones que utilizan ventanas de larga duración, múltiples búsquedas y etapas que requieren grandes búferes de RAM para el enriquecimiento de datos a gran escala.

SP50

Producción a escala empresarial

La opción de mayor rendimiento, diseñada para flujos de datos de alto rendimiento y lógica de transformación compleja. Los procesadores SP50 son adecuados para operaciones que requieren paralelismo masivo o flujos de trabajo con alta carga computacional.

Al seleccionar el nivel adecuado, tenga en cuenta los siguientes factores:

Un procesador de flujo podría requerir más recursos durante su ejecución inicial que durante las operaciones regulares. Por ejemplo, si el procesador realiza una $initialSync Frente a una gran colección de Atlas, ese procesador necesita soportar operaciones de entrada/salida y cálculos intensivos durante el tiempo que dure la sincronización.

Para absorber esta elevada demanda, seleccione temporalmente un nivel superior y reduzca la capacidad del procesador cuando se complete la sincronización y este pase a consumir únicamente eventos de flujo de cambios nuevos.

La lógica de la canalización de agregación es el principal factor que impulsa el consumo de CPU y RAM.

  • Windows: Las ventanas de larga duración consumen más RAM para mantenerse en ejecución.
    documento.
  • Lógica personalizada:$function etapas de Javascript o agrupación compleja
    La lógica aumenta los requisitos computacionales de cada mensaje.
  • Complejidad creciente: etapas adicionales que requieren estado o que son computacionalmente complejas.
    Introducir una mayor variación potencial en la demanda de recursos. Mantener capacidad excedente garantiza un rendimiento constante incluso durante los picos de consumo.

Cada punto de contacto con la red o el almacenamiento aumenta la sobrecarga del procesador de flujo.

  • Densidad de fuente o sumidero: lectura desde o escritura en paralelo
    Las fuentes o los sumideros, como los temas de Apache Kafka con sus particiones, aumentan los requisitos de E/S.
  • Enriquecimiento de datos: $lookup $https etapas y; y operaciones
    Para enriquecer los datos en una transmisión mediante colecciones de Atlas se requiere ancho de banda de red y agrupación de conexiones.
  • Coordinación: En despliegues complejos, orquestar múltiples fuentes.
    y sumideros, los procesadores de flujo pueden funcionar como concentradores que enrutan el flujo de datos entre cada uno de estos nodos. Dichos procesadores se benefician del mayor rendimiento de los niveles SP30 y SP50.

Por el contrario, las cargas de trabajo de procesamiento de flujos de datos de alto rendimiento pueden aumentar la demanda de los recursos conectados.

  • Impacto en Atlas: E/S paralelizada de alto volumen desde un flujo

    El procesador puede exceder la capacidad de lectura o escritura de los clústeres Atlas de origen o destino. Esto no solo puede aumentar la latencia del procesador, sino también crear cuellos de botella en otras cargas de trabajo que dependen de esos clústeres.

    Para garantizar un rendimiento óptimo de todo el sistema, ajuste el tamaño de sus clústeres Atlas proporcionalmente a los procesadores con los que interactúan.

Los objetivos de rendimiento pueden requerir un procesador de nivel superior incluso cuando la lógica de procesamiento es simple.

  • Alto rendimiento: Los procesadores de gama alta admiten mejor los flujos de datos.
    que producen eventos a un ritmo elevado.
  • Acuerdos de nivel de servicio (SLA) de baja latencia: El alto paralelismo que ofrecen los procesadores de nivel superior ayuda a garantizar que los eventos no se acumulen en una cola cuando la velocidad es crucial. En particular, los50 procesadores SP ofrecen cuatro veces más subprocesos que30 los procesadores SP.

  • Enriquecimiento y almacenamiento en caché de datos: Cuando se utiliza $cachedLookup para enriquecer
    Las secuencias de datos con grandes conjuntos de datos de referencia estáticos o que cambian lentamente, se benefician de los procesadores de nivel superior para proporcionar la RAM necesaria para el almacenamiento en caché.
  • Fregaderos complejos: Algunos fregaderos implican costos adicionales.
    Sobrecarga de transformaciones, transacciones y gestión de archivos. Para los procesadores que interactúan con estos destinos, los niveles superiores ayudan a garantizar un rendimiento y una latencia consistentes.

El escalado de Atlas Stream Processing es vertical. Puede aumentar o disminuir la capacidad de un procesador deteniéndolo, seleccionando un nuevo nivel y reiniciándolo. Los puntos de control de Atlas Stream Processing garantizan que no se pierdan datos durante la transición. Supervise el rendimiento de sus procesadores periódicamente y ajuste sus niveles según los factores descritos en esta guía.

Volver

Empezar

En esta página