是否有用于测试Kafka 2.12集群性能的全面测试框架,其中使用预定义的数据集进行了测试?
我看过Jmeter和Pepper-box,但看来它们不符合我的要求
预先感谢
Kafka具有可执行脚本来测试生产者和消费者的性能。
kafka-producer-perf-test.sh
kafka-consumer-perf-test.sh
设置
bin/kafka-topics.sh \
--zookeeper localhost:2181 \
--create \
--topic test-rep-one \
--partitions 6 \
--replication-factor 1
bin/kafka-topics.sh \
--zookeeper localhost:2181 \
--create \
--topic test \
--partitions 6 --replication-factor 3
生产者
单线程,无复制
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 \
batch.size=8196
单线程,异步3x复制
bin/kafk-topics.sh \
--zookeeper zookeeper.example.com:2181 \
--create \
--topic test \
--partitions 6 \
--replication-factor 3
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 \
batch.size=8196
单线程,同步3倍复制
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 batch.size=64000
三个生产者,3x异步复制
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 \
batch.size=8196
吞吐量与存储的数据
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 batch.size=8196
邮件大小的影响
for i in 10 100 1000 10000 100000; do
echo ""
echo $i
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records $((1000*1024*1024/$i))\
--record-size $i\
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 \
batch.size=128000
消费者
消费量
bin/kafka-consumer-perf-test.sh \
--zookeeper localhost:2181 \
--messages 50000000 \
--topic test \
--threads 1
3个使用者在三台服务器上,运行:
bin/kafka-consumer-perf-test.sh \
--zookeeper localhost:2181 \
--messages 50000000 \
--topic test \
--threads 1
端到端延迟
bin/kafka-run-class.sh \
kafka.tools.TestEndToEndLatency \
localhost:9092 \
localhost:2181 \
test 5000
生产者和消费者
bin/kafka-run-class.sh \
org.apache.kafka.tools.ProducerPerformance \
bin/kafka-producer-perf-test.sh \
--topic test \
--num-records 50000000 \
--record-size 100 \
--throughput -1 \
--producer-props acks=1 \
bootstrap.servers=localhost:9092 \
buffer.memory=67108864 \
batch.size=8196
bin/kafka-consumer-perf-test.sh \
--zookeeper localhost:2181 \
--messages 50000000 \
--topic test \
--threads 1