Entrar ou criar conta

Upnetix Labs · protocolo de experimento

Protocolo: Qual é a latência média de publicação e consumo de mensagens no Apache Kafka sob diferentes tamanhos de payload?

Este protocolo responde como o tamanho da mensagem afeta a latência de publicação e consumo no Apache Kafka. A pessoa vai medir o tempo de ida e volta (end-to-end) para mensagens de diferentes tamanhos.

Apache Kafka do zero à integração
Ligado ao treinamento Apache Kafka do zero à integração
Protocolo, não resultado. Esta página descreve como medir. Execução pela engenharia Upnetix: ainda não realizada. Nenhum valor aqui é resultado de medição da Upnetix; os números que valem são os que você obtém na sua bancada.
Pergunta

Como o tamanho do payload impacta a latência média de publicação e consumo de mensagens no Apache Kafka?

Hipótese

A latência média de publicação e consumo de mensagens no Apache Kafka aumenta conforme o tamanho do payload cresce.

Variáveis

Independentes (o que varia)Tamanho do payload da mensagem (bytes)
Dependentes (o que se mede)Latência média de publicação (ms); Latência média de consumo (ms); Latência end-to-end (ms)
Controladas (o que fica fixo)Versão do Apache Kafka; Configuração do tópico (partições, replicação); Hardware dos brokers; Rede (isolada, sem concorrência externa); Número de produtores e consumidores

Ambiente

Cluster Apache Kafka mínimo (3 brokers), ZooKeeper, uma máquina cliente para execução dos testes, rede local dedicada (pode ser em ambiente virtualizado). Ferramentas: kafka-producer-perf-test.sh e kafka-consumer-perf-test.sh, ambos inclusos na distribuição oficial do Apache Kafka.

Procedimento

  1. Preparar o ambiente

    Instale e configure o Apache Kafka e o ZooKeeper conforme a documentação oficial. Crie um tópico dedicado para o teste.

    consulte a documentação
  2. Definir tamanhos de payload

    Escolha ao menos três tamanhos de mensagem para testar (por exemplo, 100B, 10KB, 1MB).

  3. Executar teste de publicação

    Para cada tamanho de payload, execute o kafka-producer-perf-test.sh para publicar um número fixo de mensagens no tópico.

    ./bin/kafka-producer-perf-test.sh --topic <TOPICO> --num-records 10000 --record-size <TAMANHO> --throughput -1 --producer-props bootstrap.servers=<BROKERS>
  4. Executar teste de consumo

    Para cada tamanho de payload, execute o kafka-consumer-perf-test.sh para consumir todas as mensagens do tópico.

    ./bin/kafka-consumer-perf-test.sh --topic <TOPICO> --messages 10000 --broker-list <BROKERS>
  5. Registrar os tempos

    Anote a latência média reportada por cada ferramenta para publicação e consumo.

  6. Repetir

    Repita cada teste 5 vezes para cada tamanho de payload.

Planilha de coleta

tamanho_payload_bytes (bytes)latencia_media_publicacao_ms (ms)latencia_media_consumo_ms (ms)latencia_end_to_end_ms (ms)
EXEMPLO: 10000, 3.2, 4.1, 7.3

Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.

Análise

Calcule a média, mediana e desvio padrão das latências para cada tamanho de payload. Compare os resultados entre os tamanhos para identificar tendências. Analise os percentis 95 e 99, se disponíveis.

Critérios de decisão

  • A latência deve aumentar de forma consistente ou previsível com o crescimento do payload.
  • Variações acima de 20% entre repetições para o mesmo tamanho de payload indicam instabilidade e necessidade de revisão do ambiente.

Fontes de erro e mitigação

  • Ruído de rede: execute em rede local dedicada.
  • Carga de CPU: monitore o uso para evitar saturação.
  • Caches do SO: reinicie os processos entre repetições.
  • Configurações padrão do Kafka: mantenha fixas durante todo o experimento.

Referências

  1. fonte oficial · Apache Software Foundation (Kafka) (kafka.apache.org)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
1 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.