conduktor.io ↗

num.network.threads — Kafka Broker Configuration

The number of threads that the server uses for receiving requests from the network and sending responses to the network. Noted: each listener (except for controller listener) creates its own thread pool.

Description

The number of threads that the server uses for receiving requests from the network and sending responses to the network. Noted: each listener (except for controller listener) creates its own thread pool.

Default Values by Kafka Version

Kafka VersionDefault Value
0.8.03
0.8.13
0.8.23
0.9.03
0.10.03
0.10.13
0.10.23
0.11.03
1.03
1.13
2.03
2.13
2.23
2.33
2.43
2.53
2.63
2.73
2.83
3.03
3.13
3.23
3.33
3.43
3.53
3.63
3.73
3.83
3.93
4.03
4.13
4.23

Tuning Recommendation

ProfileRecommendedWhy
broker / throughput8Each network thread handles socket reads/writes for incoming client and inter-broker requests. At high connection counts (thousands of producers/consumers), 3 threads become a serialization bottleneck; 8 threads map roughly to physical CPU cores on a typical 16-core broker and keep network queues from stacking up.
broker / latency8More network threads reduce request queueing time. With 3 threads, high-concurrency workloads queue behind each other adding p99 tail latency.

Related Configs

num.io.threads · queued.max.requests · socket.receive.buffer.bytes

Manage Kafka configs across all your clusters with Conduktor Console — view, compare, and update configurations in one place.