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

Guia de seleção do nível de Atlas Stream Processing

O Atlas Stream Processing aloca recursos por processador de stream de acordo com níveis. Alocação e custo fixos de recursos fornecem previsibilidade, simplificando o processo de design do sistema. Use este guia para entender quais níveis são mais apropriados para suas cargas de trabalho de processamento de fluxo ao planejar uma implantação.

Cada camada fornece uma alocação fixa de potência de processamento, memória, largura de banda, paralelismo e – no caso de processadores com fontes Apache Kafka – partições.

Nível
vCPU
RAM (GB)
Largura de banda (MBP)
Paralelismo máximo
Limite de partição Kafka de origem

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

As diferentes alocações de recursos de cada nível os tornam adequados para diferentes estágios e escalas de projeto.

Nível
Caso de uso

SP2

Desenvolvimento, Implementação de teste

A opção de menor custo, capaz de suportar volumes de trabalho simples com requisitos de recursos limitados.

SP5

Desenvolvimento, implantação de produção básica

Uma opção de baixo custo adequada para tarefas de produção com baixo rendimento, mesmo aquelas que empregam computação mais complexa. Os processadores SP5 podem suportar filtragem básicas, projeções e processamento de change stream.

SP10

Sistema de produção principal

Uma linha de base para volumes de trabalho de produção. O SP10 e superior são destinados a pipelines que exigem níveis mais altos de paralelismo, particionamento ilimitado do Kafka ou operações de enriquecimento de dados, como pesquisas e junções.

SP30

Sistema de produção complexo

Uma opção de alto desempenho projetada para operações de estado com uso intensivo de memória. A SP30 oferece suporte a pipelines que usam janelas de longa duração, várias pesquisas e estágios que exigem grandes buffers de RAM para enriquecimento de dados em escala.

SP50

Produção em escala empresarial

A opção de melhor desempenho, projetada para fluxos de alta taxa de transferência e lógica de transformação extensiva. Os processadores SP50 são adequados para operações que exigem paralelismo massivo ou fluxos de trabalho de computação de uso intensivo.

Considere os seguintes fatores ao selecionar um nível apropriado:

Um processador de fluxo pode exigir mais recursos durante sua execução inicial do que durante operações regulares. Por exemplo, se o processador executar um $initialSync em uma grande coleção do Atlas , esse processador precisará oferecer suporte a E/S e computação pesadas durante a sincronização.

Para suportar essa demanda elevada, selecione um nível mais alto temporariamente e reduza a escala do processador quando a sincronização estiver concluída e o processador fizer a transição para consumir apenas novos eventos de fluxo de alterações.

A lógica do aggregation pipeline é o principal impulsionador do consumo de CPU e RAM.

  • Windows: janelas de longa duração consomem mais RAM para manter a bordo
    documentos.
  • Lógica Personalizada:$function estágios Javascript ou agrupamento complexo
    a lógica aumenta os requisitos computacionais de cada mensagem.
  • Combinação de complexidade: estágios adicionais com estado ou computacionalmente complexos
    introduzir mais variação potencial na demanda de recursos. A manutenção da capacidade excedente garante uma taxa de transferência consistente, mesmo durante picos de consumo.

Cada ponto de rede ou contato de armazenamento aumenta a sobrecarga de um processador de fluxo.

  • Densidade de origem ou coletor: lendo ou gravando em paralelizado
    fontes ou coletores — como os tópicos do Apache Kafka com suas partições — aumenta os requisitos de E/S.
  • Enriquecimento de Dados: $lookup e $https estágios; e operações
    contra coleções do Atlas para Enriquecer os dados em um fluxo exigem largura de banda da rede e pool de conexões.
  • Coordenação: Em implantações complexas orquestrando muitas fontes
    e coletores, os processadores de fluxo podem servir como centros que roteiam o fluxo de dados entre cada um desses nós. Esses processadores se beneficiam do maior rendimento dos níveis SP30 e SP50.

Por outro lado, volumes de trabalho de processamento de fluxo de alta taxa de transferência podem aumentar a demanda dos recursos conectados.

  • Impacto no Atlas: E/S paralelizada e de alto volume de um fluxo

    processador pode exceder a capacidade de leitura ou gravação dos Atlas clusters de origem ou coletor. Isso não só pode aumentar a latência do processador, mas também gargalos de outras cargas de trabalho dependentes desses clusters.

    Para garantir o desempenho de todo o sistema, escale seus Atlas clusters proporcionalmente aos processadores com os quais eles interagem.

As metas de desempenho podem exigir um processador de nível superior, mesmo quando a lógica de processamento é simples.

  • Alta taxa de transferência: os processadores de nível superior oferecem suporte melhor aos fluxos de suporte
    que produzem eventos em uma taxa alta.
  • SLAs de baixa latência: o alto paralelismo oferecido pelos processadores de nível superior ajuda a garantir que os eventos não se acumulem em uma fila quando a velocidade é importante. Em particular, os50 processadores SP oferecem quatro vezes os threads do que30 os processadores SP.

  • Enriquecimento de dados e cache: ao usar $cachedLookup para enriquecimento
    fluxos com grandes conjuntos de dados de referência estáticos ou de mudança lenta, favorecem processadores de nível superior para fornecer a RAM necessária para o cache.
  • Sinks complexos: Alguns coletores envolvem mais caros
    transformações, transações e sobrecarga de gerenciamento de arquivos. Para os processadores que interagem com esses sinks, os níveis mais altos ajudam a garantir desempenho e latência consistentes.

O dimensionamento do Atlas Stream Processing é vertical. Você pode aumentar ou diminuir a escala de um processador parando-o, selecionando um novo nível e reiniciando-o. Os checkpoints do Atlas Stream Processing garantem que nenhum dado seja perdido durante a transição. Monitore o desempenho de seus processadores regularmente e ajuste seus níveis com base nos fatores descritos neste guia.

Voltar

Começar

Nesta página