Sizing and performance considerations

Learn about ways you can size your Kafka broker resource allocations for optimal performance.

Kafka broker performance primarily depends on the IO bandwidth of the nodes and disks. Because of this, Cloudera recommends using SSDs with high IOPS and throughput for large workloads. When optimizing for large workloads, avoid using HDDs and storage replication services, such as Longhorn. JBOD can also lead to throughput improvements when the node IO bandwidth can support multiple disks.

Depending on the characteristics of the workload, brokers might require a large memory pool to be able to serve fetch requests from the cache. Brokers might also require an increased CPU allocation to support compressed messages

Zookeeper requires a small resource pool in most workloads, and scaling the cluster to more than three nodes usually provides no benefit.

Recommended minimum setup

Learn about the minimum number of broker and nodes, as well as minimum resource allocations for a cluster that enable optimal cluster performance.

As a baseline for small and medium workloads, Cloudera recommends the following cluster sizing:
  • Three brokers, each with eight CPU cores and 20 GB memory.
  • Three Zookeper nodes, each with four CPU cores and 16 GB memory