0 ratings0% found this document useful (0 votes) 147 views5 pagesKafka Performance Tuning
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
svzorznz0 Katka Peformance Turing | 6x] Cloutora Docurentaion
O
Kafka Performance Tuning (#kafka_performance)
Performance tuning involves two important metrics:
* Latency measures how long it takes to process one event.
* Throughput measures how many events arrive within a specific amount of time.
Most systems are optimized for either latency or throughput. Kafka is balanced for both. A
‘well-tuned Kafka system has just enough brokers to handle topic throughput, given the
latency required to process information as it is received.
Tuning your producers, brokers, and consumers to send, process, and receive the largest
possible batches within a manageable amount of time results in the best balance of latency
and throughput for your Kafka cluster.
the following sections introduce the concepts you'll need to be able to balance your Kafka
workload and then provide practical tuning configuration to address specific circumstances.
For a quick video introduction to tuning Kafka, see Tuning Your Apache Kafka
Cluster (https://youtu.be/6hFhf6LgEps) .
‘There are a few concepts described here that will help you focus your tuning efforts.
Additional topics in this section provide practical tuning guidelines:
Continue reading:
« Handling Large Messages
* Cluster Sizing
* Broker Configuration
System-Level Broker Tuning
fka-Zs r Performance Tuning
Tuning Brokers (#tuning_brokers)
Topics are divided into partitions. Each partition has a leader. Topics that are properly
configured for reliability will consist of a leader partition and 2 or more follower partitions.
When the leaders are not balanced properly, one might be overworked, compared to
others.
hips:docs cloutera.comidocumertat onveterprsel86 Mtopicstatta._perormance himsvzorznz0
alia Performance Tug | 63] Clowtera Docurertation
Depending on your system and how critical your data is, you want to be sure that you have
sufficient replication sets to preserve your data. For each topic, Cloudera recommends C)
starting with one partition per physical storage disk and one consumer per partition.
Tuning Producers (#tuning producers)
Kafka uses an asynchronous publish/subscribe model. When your producer calls send() ,
the result returned is a future. The future provides methods to let you check the status of
‘the information in process. When the batch is ready, the producer sends it to the broker.
‘The Kafka broker waits for an event, receives the result, and then responds that the
transaction is complete,
Ifyou do not use a future, you could get just one record, wait for the result, and then send a
response. Latency is very low, but so is throughput. If each transaction takes 5 ms,
throughput is 200 events per second — slower than the expected 100,000 events per
second.
When you use Producer. send() , you fill up buffers on the producer. When a buffer is full,
the producer sends the buffer to the Kafka broker and begins to refill the buffer.
Two parameters are particularly important for latency and throughput: batch size and
linger time
Batch Size (#tuning_producers__batch_size)
batch.size measures batch size in total bytes instead of the number of messages. It
controls how many bytes of data to collect before sending messages to the Kafka broker.
Set this as high as possible, without exceeding available memory. The default value is
16384.
Ifyou increase the size of your buffer, it might never get full. The Producer sends the
information eventually, based on other triggers, such as linger time in milliseconds.
Although you can impair memory usage by setting the buffer batch size too high, this does
not impact latency.
If your producer is sending all the time, you are probably getting the best throughput
possible. If the producer is often idle, you might not be writing enough data to warrant the
current allocation of resources.
Linger Time (#tuning_producers __linger_time)
hps:docs cloutera.comidocumertat onveterprsal86 Mtopicstatta,perormance him 25svzorznz0
atta Pererance Turing | 63x] Coudra Docent
Linger.ms sets the maximum time to buffer data in asynchronous mode. For example,
the setting of 100 means that it batches 100ms of messages to send at once. This improvel
throughput, but the buffering adds message delivery latency.
By default, the producer does not wait. It sends the buffer any time data is available.
Instead of sending immediately, you can set Linger .ms to and send more messages in
one batch. This would reduce the number of requests sent, but would add up to 5
milliseconds of latency to records sent, even if the load on the system does not warrant the
delay.
‘The farther away the broker is from the producer, the more overhead required to send
messages. Increase linger.ms for higher latency and higher throughput in your producer.
Tuning Consumers (#tuning_consum:
Consumers can create throughput issues on the other side of the pipeline. The maximum
number of consumers in a consumer group for a topic is equal to the number of partitions.
You need enough partitions to handle all the consumers needed to keep up with the
producers.
Consumers in the same consumer group split the partitions among them. Adding more
consumers to a group can enhance performance (up to the number of partitions). Adding
more consumer groups does not affect performance.
Mirror Maker Performance (#mirrormaker performance)
Kafka Mirror Maker is a tool to replicate topics between data centers. It is best to run.
Mirror Maker at the destination data center. Consuming messages from a distant cluster
and writing them into a local cluster tends to be more safe than producing over a long-
distance network. Deploying the Mirror Maker in the source data center and producing
remotely has a higher risk of losing data. However, if you need this setup, make sure that
you configure acks=a11 with appropriate number of retries and min ISR.
+ Enerypting data in transit with SSL has impact on performance of Kafka broke:
+ Toreduce lag between clusters, you can improve performance by deploying multiple
Mirror Maker instances using the same consumer group ID.
* Measure CPU utilization.
+ Consider using compression for consumers and producers when mirroring topics between
data centers as bandwidth can be a bottleneck.
+ Monitor lag and metries of Mirror Maker.
hps:docs cloutera.comidocumertat onveterprsal86 Mtopicstatta,perormance him 38svzorznz0
alia Performance Tug | 63] Clowtera Docurertation
To properly size Mirror Maker, take expected throughput and maximum allowed lag
between data centers into account. CJ
‘+ num. streams parameter controls the number of consumer threads in Mirror Maker.
* kafka-producer-perf-test can be used to generate load on the source cluster. You
can test and measure performance of Mirror Maker with different num. streans values
(Start from 1 and increase it gradually).
Good performance can be achieved with proper consumer and producer settings and
properly tuned OS properties, such as networking and I/O related kernel settings.
Categories: Administrators (.,/categories/hub_administrators.html) |
Concepts (../eategories/hub_concepts.html) | Kafka
(./categories/hub_kafka.html) | Performance Tuning
(./eategories/hub_performance tuning.html) | Production
(./categories/hub_production. html) | All Categories
(./eategories/hub.html)
About Cloudera (https://www.cloudera.com/about-cloudera.html),
Resources (https://www.cloudera.com/resources.html),
Contact (https://www.cloudera.com/contact-us.html)
Careers (https://www.cloudera.com/about-cloudera/careers.html),
Press (https://www.cloudera.com/about-cloudera/press-center.htm!)
Documentation (https://www.cloudera.com/documentation.html),
United States: +1 888.789 1488
Outside the US: +1 650 362 0488
© 2020 Clondera, Inc. All rights reserved. Apache Hadoop
(http://hadoop.apache.org) and associated open source project names are
trademarks of the Apache Software Foundation (http://apache.org) . For a
complete list of trademarks, click here. (https://www.cloudera.com/legal/terms-
and-conditions.html#trademarks)
If this documentation includes code, including but not limited to, code examples, Cloudera
makes this available to you under the terms of the Apache License, Version 2.0, including
any required notices. A copy of the Apache License Version 2.0 can be found here
(https://opensource.org/licenses/Apache-2.0).
{https://www.linkedin.com/company/cloudera)
(https://www.facebook.com/cloudera),
hips:docs cloutera.comidocumertat onveterprsel86 Mtopicstatta._perormance him 4svzaz020 Kata Pecormance Tung | 63x| Cloutera Docurentation
. (https://twitter.com/cloudera)
+ (https:
www.cloudera.com/contact-us.html).
Terms & Conditions (https://www.cloudera.com/legal/terms-and-
conditions.html)_ | Privacy Policy
(https://www.cloudera.com/legal/policies.html)
Page generated August 10, 2020.
hps:docs cloutera.comidocumertat onveterprsal86 Mtopicstatta,perormance him
56