0

i have 1 producer 1 consumer and 3 brokers in my set up. I am using python API for producer and consumer.

all kafka parameters are set to default meaning no compression should occur at any kafka stage.

when producer use "message = 'a' * message_size"

; the network TX BW at producer is very low than i anticipate(around 50% or less than calculated BW). when i use random (os.random) message i see network BW close to what i anticipate.

in both cases; when i look into message from broker side; it is read exactly as it was sent by producer.

these observation indicates that data is being compressed even-though kafka parameters are set for NO compression.

Do you know potential reason why and where compression is happening as message is sent from producer side?

I am adding code snippets as requested


producer = KafkaProducer(bootstrap_servers=args.kafka_broker, max_request_size=1000000000,
        batch_size=args.batch_size, linger_ms=args.linger_ms)


for i in range(element_count):
    byte_data = 'a' * send_size
    data = {'data': byte_data, 'items': send_items, 'log': 1}
    time.sleep()
    element_name = hostname
    json_aligned_data = json.dumps(data)
    producer.send(produce_topic, key=element_name, value=json_aligned_data)
ankit patel
  • 1,399
  • 5
  • 17
  • 29

0 Answers0