-
-
Save saurabhmishra/6ed428be4c00003dd926 to your computer and use it in GitHub Desktop.
Kafka Benchmark Commands
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Producer | |
Setup | |
bin/kafka-topics.sh --zookeeper zookeeper_server:2181 --create --topic test-rep-one --partitions 6 --replication-factor 1 | |
bin/kafka-topics.sh --zookeeper zookeeper_server:2181 --create --topic test --partitions 6 --replication-factor 3 | |
Single thread, no replication | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test7 50000000 100 -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=8196 | |
Single-thread, async 3x replication | |
bin/kafktopics.sh --zookeeper zookeeper_server:2181 --create --topic test --partitions 6 --replication-factor 3 | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test6 50000000 100 -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=8196 | |
Single-thread, sync 3x replication | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test 50000000 100 -1 acks=-1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=64000 | |
Three Producers, 3x async replication | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test 50000000 100 -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=8196 | |
Throughput Versus Stored Data | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test 50000000000 100 -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=8196 | |
Effect of message size | |
for i in 10 100 1000 10000 100000; | |
do | |
echo "" | |
echo $i | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test $((1000*1024*1024/$i)) $i -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=128000 | |
done; | |
Consumer | |
Consumer throughput | |
bin/kafka-consumer-perf-test.sh --zookeeper zookeeper_server:2181 --messages 50000000 --topic test --threads 1 | |
3 Consumers | |
On three servers, run: | |
bin/kafka-consumer-perf-test.sh --zookeeper zookeeper_server:2181 --messages 50000000 --topic test --threads 1 | |
End-to-end Latency | |
bin/kafka-run-class.sh kafka.tools.TestEndToEndLatency kafka_server:6667 zookeeper_server:2181 test 5000 100 1 | |
Producer and consumer | |
bin/kafka-run-class.sh org.apache.kafka.clients.tools.ProducerPerformance test 50000000 100 -1 acks=1 bootstrap.servers=kafka_server:6667 buffer.memory=67108864 batch.size=8196 | |
bin/kafka-consumer-perf-test.sh --zookeeper zookeeper_server:2181 --messages 50000000 --topic test --threads 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
End-to-end Latency | |
0.0543 ms ms (median) | |
0.003125 ms (99th percentile) | |
5 ms (99.9th percentile) | |
Producer and consumer | |
Producer - 1431170.2 records/sec (136.49 MB/sec) | |
Consumer - 3276754.7021 records/sec (312.4957 MB/sec) | |
Setup | |
5 Kafka Broker | |
5 Zookeeper | |
32 core | |
10 Disk Jbod ext4 | |
190GB memory | |
10GB Network Dual Bounded |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Set KAFKA specific environment variables here. | |
# The java implementation to use. | |
export JAVA_HOME={{java64_home}} | |
export PATH=$PATH:$JAVA_HOME/bin | |
export PID_DIR={{kafka_pid_dir}} | |
export LOG_DIR={{kafka_log_dir}} | |
export JMX_PORT=9093 | |
export KAFKA_HEAP_OPTS="-Xmx16g -Xms16g" | |
export KAFKA_JVM_PERFORMANCE_OPTS="-XX:MetaspaceSize=96m -XX:+UseG1GC | |
-XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M | |
-XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80" | |
# Add kafka sink to classpath and related depenencies | |
if [ -e "/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar" ]; then | |
export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar | |
export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/lib/* | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Generated by Apache Ambari. | |
auto.create.topics.enable=true | |
auto.leader.rebalance.enable=true | |
broker.id=0 | |
compression.type=producer | |
controlled.shutdown.enable=true | |
controlled.shutdown.max.retries=3 | |
controlled.shutdown.retry.backoff.ms=5000 | |
controller.message.queue.size=10 | |
controller.socket.timeout.ms=30000 | |
default.replication.factor=1 | |
delete.topic.enable=false | |
external.kafka.metrics.exclude.prefix=kafka.network.RequestMetrics,kafka.server.DelayedOperationPurgatory,kafka.server.BrokerTopicMetrics.BytesRejectedPerSec | |
external.kafka.metrics.include.prefix=kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.98percentile,kafka.network.RequestMetrics.ResponseQueueTimeMs.request. | |
Offsets.95percentile,kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.95percentile,kafka.network.RequestMetrics.RequestsPerSec.request | |
fetch.purgatory.purge.interval.requests=10000 | |
kafka.ganglia.metrics.group=kafka | |
kafka.ganglia.metrics.host=localhost | |
kafka.ganglia.metrics.port=8671 | |
kafka.ganglia.metrics.reporter.enabled=true | |
kafka.metrics.reporters=org.apache.hadoop.metrics2.sink.kafka.KafkaTimelineMetricsReporter | |
kafka.timeline.metrics.host=blah | |
kafka.timeline.metrics.maxRowCacheSize=10000 | |
kafka.timeline.metrics.port=6188 | |
kafka.timeline.metrics.reporter.enabled=true | |
kafka.timeline.metrics.reporter.sendInterval=5900 | |
leader.imbalance.check.interval.seconds=300 | |
leader.imbalance.per.broker.percentage=10 | |
listeners=PLAINTEXT://kafka1:6667 | |
log.cleanup.interval.mins=10 | |
log.dirs=/data/vol5/kafka-logs,/data/vol11/kafka-logs,/data/vol6/kafka-logs,/data/vol10/kafka-logs,/data/vol8/kafka-logs,/data/vol7/kafka-logs,/data/vol12/kafka-logs,/data/vol9/k | |
afka-logs,/data/vol4/kafka-logs,/data/vol3/kafka-logs | |
log.flush.interval.messages=10000 | |
log.flush.interval.ms=3000 | |
log.flush.scheduler.interval.ms=3000 | |
log.index.interval.bytes=4096 | |
log.index.size.max.bytes=10485760 | |
log.retention.bytes=100000000000 | |
log.retention.hours=24 | |
log.roll.hours=24 | |
log.segment.bytes=1073741824 | |
message.max.bytes=6300000 | |
min.insync.replicas=1 | |
num.io.threads=18 | |
num.network.threads=24 | |
num.partitions=8 | |
num.recovery.threads.per.data.dir=1 | |
num.replica.fetchers=1 | |
offset.metadata.max.bytes=4096 | |
offsets.commit.required.acks=-1 | |
offsets.commit.timeout.ms=5000 | |
offsets.load.buffer.size=5242880 | |
offsets.retention.check.interval.ms=600000 | |
offsets.retention.minutes=86400000 | |
offsets.topic.compression.codec=0 | |
offsets.topic.num.partitions=50 | |
offsets.topic.replication.factor=3 | |
offsets.topic.segment.bytes=104857600 | |
port=6667 | |
producer.purgatory.purge.interval.requests=10000 | |
queued.max.requests=500 | |
replica.fetch.max.bytes=6348576 | |
replica.fetch.min.bytes=1 | |
replica.fetch.wait.max.ms=500 | |
replica.high.watermark.checkpoint.interval.ms=5000 | |
replica.lag.max.messages=10000000 | |
replica.lag.time.max.ms=10000 | |
replica.socket.receive.buffer.bytes=1048576 | |
replica.socket.timeout.ms=30000 | |
socket.receive.buffer.bytes=102400 | |
socket.request.max.bytes=104857600 | |
socket.send.buffer.bytes=1048576 | |
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181,zk4:2181,zk5:2181 | |
zookeeper.connection.timeout.ms=1000000 | |
zookeeper.session.timeout.ms=30000 | |
zookeeper.sync.time.ms=2000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment