All Products
Search
Document Center

ApsaraMQ for Kafka:Estimate cluster resources for ApsaraMQ for Confluent

Last Updated:Mar 11, 2026

When you deploy an ApsaraMQ for Confluent cluster, throughput requirements, partition count, data retention needs, and latency tolerance all affect the resources you need. This topic walks through how to estimate resources for each cluster component and provides recommended specifications for production and test environments.

Architecture overview

An ApsaraMQ for Confluent cluster consists of seven components. The following table lists each component with its default replica count and role.

ComponentDefault replicasRole
Kafka Broker3Handles produce and consume requests
ZooKeeper3Manages cluster metadata and coordination
Connect2Runs source and sink connectors for data integration
SchemaRegistry2Enforces schema management and compatibility
ControlCenter1Provides web-based monitoring and management
KsqlDB2Processes streams with a SQL interface
KafkaRestProxy2Exposes an HTTP/REST interface for producing and consuming messages

Adjust the replica count for each component based on your workload.

image

Estimate Kafka Broker resources

Kafka Broker sizing has the largest impact on cluster performance. Define your workload parameters first, then use the formulas in this section to calculate broker count, Compute Units (CUs) per broker, and disk size.

Define workload parameters

ParameterDescriptionDefault
Fan-out factorNumber of independent consumer groups reading the same data. Excludes inter-broker replication traffic.--
Peak data inflowMaximum producer throughput (MB/s)--
Average data inflowAverage producer throughput (MB/s)--
Data retention periodHow long messages are stored before deletion7 days
Replication factorNumber of copies per partition3

Calculate broker count

A single Kafka Broker supports up to 100 MB/s of throughput. Plan for 50% I/O bandwidth headroom to handle traffic spikes.

Production clusters require at least 4 brokers:

Broker count = Max(4, peak_inflow x (fan_out + 2 x replication_factor - 1) x 2 / 400)

Test clusters require at least 3 brokers:

Broker count = Max(3, peak_inflow x (fan_out + 2 x replication_factor - 1) x 2 / 300)

Partition limits also constrain broker count:

  • Each broker: no more than 2,000 partition replicas

  • Entire cluster: no more than 200,000 partition replicas

If your total partition replica count is high, size the broker count based on partition limits rather than throughput alone.

Worked example

Consider a production workload with:

  • Peak inflow: 200 MB/s

  • Fan-out factor: 2 (two consumer groups)

  • Replication factor: 3 (default)

Broker count = Max(4, 200 x (2 + 2 x 3 - 1) x 2 / 400)
             = Max(4, 200 x 7 x 2 / 400)
             = Max(4, 7)
             = 7 brokers

Choose CUs per broker

CU requirements depend on cluster configuration, client behavior, partition count, and the number of producers and consumers. Use these guidelines as a starting point:

EnvironmentCUs per brokerPartition limits per broker (at 4 CUs)
Production8 or more100 leader replicas or 300 partition replicas (including leaders)
Development and testing4100 leader replicas or 300 partition replicas (including leaders)

Calculate disk size per broker

Disk per broker = Max(1 TB, average_inflow x retention_period x replication_factor / broker_count)

Convert all values to consistent units before calculating. If average_inflow is in MB/s, convert retention_period to seconds (1 day = 86,400 seconds).

Worked example

With the following parameters:

  • Average inflow: 50 MB/s

  • Retention period: 7 days (604,800 seconds)

  • Replication factor: 3

  • Broker count: 7

Disk per broker = Max(1 TB, 50 MB/s x 604,800 s x 3 / 7)
               = Max(1 TB, ~12,960,000 MB)
               = Max(1 TB, 12.4 TB)
               = 12.4 TB per broker

Estimate resources for other components

Connect

ResourceRecommendation
Nodes2 or more for high availability
CUs per node8 or more

SchemaRegistry

ResourceRecommendation
Nodes2
CUs per node2

ControlCenter

ResourceRecommendation
Nodes1
CUsMore than 4
Storage300 GB or more

KsqlDB

ResourceRecommendation
Nodes2 or more for high availability
CUs per node5 or more
Storage100 GB (default). Increase based on your aggregation statement count and concurrent query volume.

KafkaRestProxy

ResourceRecommendation
Nodes2 or more for high availability
CUs per node8 or more for continuous produce/consume workloads; 4 for light usage

Performance benchmarks

The following benchmarks were measured on a 4-broker cluster with a single topic, 300 partitions, 60 producers, and 1 KB messages.

Throughput and latency by CU count

Broker specTotal cluster throughput (unthrottled)Avg. producer throughput (unthrottled)Avg. latency (unthrottled)Total throughput (latency < 100 ms)
4 CU per broker370 MB/s5.95 MB/s9,718 ms130 MB/s
8 CU per broker400 MB/s7.33 MB/s8,351 ms195 MB/s
12 CU per broker400 MB/s7.39 MB/s8,343 ms240 MB/s
16 CU per broker400 MB/s7.47 MB/s8,335 ms290 MB/s
20 CU per broker400 MB/s7.58 MB/s8,237 ms305 MB/s

With 4 brokers at 8 or more CUs each, the cluster reaches a baseline throughput of 400 MB/s. Additional CUs primarily improve latency-constrained throughput rather than peak throughput.

Note

Actual performance varies depending on message size, partition count, consumer count, and client configuration. Use these benchmarks as a baseline, not a guarantee.

Scale out with additional brokers

Each additional broker adds approximately 100 MB/s of throughput. Allocate at least 8 CUs per broker when scaling out to prevent compute from becoming a bottleneck.

BrokersCluster throughputMessages per hourPartitions supported (at 1 MB/s per partition)
4400 MB/s14.7 billion400
8800 MB/s29.5 billion800
121,200 MB/s44.2 billion1,200
161,600 MB/s59 billion1,600
202,000 MB/s73.7 billion2,000
Note

The recommended throughput per partition is 1--5 MB/s. For low-latency workloads, keep per-partition throughput at the lower end. As partition count grows, cluster throughput decreases and tail latency increases.

Recommended cluster specifications

The following tables provide starting-point specifications for production and test environments. Adjust based on your workload characteristics.

Production environment

Total cluster throughput: 400 MB/s (excluding replication traffic).

ComponentCUs per nodeDisk per nodeNodes
Kafka Broker122,400 GB4
ZooKeeper4100 GB3
Connect12--2
ControlCenter12300 GB1
SchemaRegistry2--2
KafkaRestProxy16--2
KsqlDB5100 GB2

Test environment

Total cluster throughput: 300 MB/s (excluding replication traffic).

ComponentCUs per nodeDisk per nodeNodes
Kafka Broker4800 GB3
ZooKeeper2100 GB3
Connect4--2
ControlCenter4300 GB1
SchemaRegistry2--2
KafkaRestProxy4--2
KsqlDB5100 GB2
Note

After you create a cluster, you can adjust resource configurations by scaling individual components up or out.

Component resource ranges

The following table lists the supported configuration ranges for each component.

ComponentEditionReplicas (default / min / max)CUs per node (default / min / max)Disk per node (default; range)
Kafka BrokerProfessional, Enterprise3 / 3 / 204 / 4 / 20800 GB; 800--30,000 GB
ZooKeeperProfessional, Enterprise3 / 3 / 32 / 2 / 20100 GB; 100--30,000 GB
ControlCenterProfessional, Enterprise1 / 1 / 18 / 8 / 20300 GB; 300--30,000 GB
SchemaRegistryProfessional, Enterprise2 / 2 / 31 / 1 / 20No storage
ConnectProfessional, Enterprise (optional)2 / 1 / 204 / 1 / 20No storage
KsqlDBProfessional, Enterprise (optional)2 / 1 / 205 / 5 / 20100 GB; 100--30,000 GB
KafkaRestProxyProfessional, Enterprise (optional)2 / 2 / 204 / 4 / 20No storage

References