Kafka各个指标的性能测试

一、测试环境

在这里插入图片描述

二、测试工具

Kafka系统提供了测试工具kafka-producer-perf-test.sh和kafka-consumer-perf-test.sh,在kafka安装的bin目录下,通过该工具可以对生产者性能和消费者性能进行测试,获取一组最佳的参数值,进而提升生产者的发送效率和消费者的读取效率。

三、生产者测试

创建一个拥有3个分区、1个副本的topic,设置不同的线程数发送相同的数量,查看性能变化。脚本如下:

./kafka-producer-perf-test.sh --topic test_producer_perf --num-records
1000000 --throughput -1 --record-size 200 --producer-props
bootstrap.servers=hadoop-master:9092,hadoop-slave01:9092,hadoop-slave02:9092
acks=0

3.1 acks数
acks数分别设置为0、1、-1
测试结果:
在这里插入图片描述
结论:在不保证数据丢失的情况下,acks=0的吞吐量是最高的,平均延时的时间也是最短的
保证数据不丢失的情况是acks=1的吞吐率是最高的,平均延时相对来说比较短
3.2 消息长度数
消息长度分别设置为100、200、500、1000
测试结果:
在这里插入图片描述

结论:随着消息长度的增加,吞吐量逐渐减少,平均吞吐速率逐渐增大

四、消费者测试

创建一个拥有3个分区、1个副本的topic,设置不同的线程数发送相同的数量,查看性能变化。脚本如下:
./kafka-consumer-perf-test.sh --topic test_producer_perf --threads 1 --messages 5000000 --broker-list hadoop-master:9092,hadoop-slave01:9092,hadoop-slave02:9092
4.1 线程数
线程数分别为1、5、10、20
测试结果
在这里插入图片描述
结论:可以看出线程数对吞吐量并没有多大的影响
4.2 批量拉取数
分别设置batch-size大小为100、200、500、1000、2000
测试结果:
在这里插入图片描述
结论:超过fetch-size的阈值以后,对吞吐量的性能并没有提高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值