Chapter 1. Kafka tuning overview
Chapter 1. Kafka tuning overview Fine-tuning the performance of your Kafka deployment involves optimizing various configuration properties according to your specific requirements. This section provides an introduction to common configuration options available for Kafka brokers, producers, and consumers. While a minimum set of configurations is necessary for Kafka to function, Kafka properties allow for extensive adjustments. Through configuration properties, you can enhance latency, throughput, and overall efficiency, ensuring that your Kafka deployment meets the demands of your applications. For effective tuning, take a methodical approach. Begin by analyzing relevant metrics to identify potential bottlenecks or areas for improvement. Adjust configuration parameters iteratively, monitoring the impact on performance metrics, and then refine your settings accordingly. For more information about Apache Kafka configuration properties, see the Apache Kafka documentation . Note The guidance provided here offers a starting point for tuning your Kafka deployment. Finding the optimal configuration depends on factors such as workload, infrastructure, and performance objectives. 1.1. Mapping properties and values How you specify configuration properties depends on the type of deployment. If you deployed Streams for Apache Kafka on OCP, you can use the Kafka resource to add configuration for Kafka brokers through the config property. With Streams for Apache Kafka on RHEL, you add the configuration to a properties file as environment variables. When you add config properties to custom resources, you use a colon (':') to map the property and value. Example configuration in a custom resource num.partitions:1 When you add the properties as environment variables, you use an equal sign ('=') to map the property and value. Example configuration as an environment variable num.partitions=1 Note Some examples in this guide may show resource configuration specifically for Streams for Apache Kafka on OpenShift. However, the properties presented are equally applicable as environment variables when using Streams for Apache Kafka on RHEL. 1.2. Tools that help with tuning The following tools help with Kafka tuning: Cruise Control generates optimization proposals that you can use to assess and implement a cluster rebalance Kafka Static Quota plugin sets limits on brokers Rack configuration spreads broker partitions across racks and allows consumers to fetch data from the nearest replica Additional resources For more information on these tools, see the following guides: Configuring Streams for Apache Kafka on OpenShift Using Streams for Apache Kafka on RHEL in KRaft mode Using Streams for Apache Kafka on RHEL with ZooKeeper
num.partitions:1 num.partitions=1