2022-08-29 Kafka使用经验

一、压力测试

1. 生产者压力测试

(1) 命令格式

# bootstrap.servers=host1:port1,hoast2:port2,... 用来指定要连接的kafkaServer
$KAFKA_HOME/bin/kafka-producer-perf-test.sh  --topic topic_name --record-size num1 --num-records num2 --throughput -1 --producer-props bootstrap.servers=host1:port1,hoast2:port2,...

(2) 选项解释

选项解释
topic指定进行压力测试的主题
record-size生产每条记录的大小,单位为byte
num-records一共生产多少条记录

2. 消费者压力测试

(1) 命令格式

bin/kafka-consumer-perf-test.sh --broker-list host1:port1,host2:port2,... --topic topic_name --fetch-size num1 --messages num2 --threads num3

(2) 选项解释

选项解释
broker-list指定要连接的kafkaServer,每个连接地址使用逗号(,)分割
topic指定进行压力测试的主题
fetch-size指定一次请求消费的数据大小,默认为 1048576 即 1 MB
messages一共消费多少条消息
threads指定开启几个线程扮演同组消费者的角色消费数据,需要注意的是,如果想要测试多个消费者同时消费的能力,必须保证分区数要多于开启的消费者数,原因在于:当只有一个消费者组时,主题中的一个分区能且只能同时被一个消费者组中的一个消费者消费

二、机器数计算

1. 计算公式

Kafka机器数量 = 2*(峰值生产速度 * 副本数 / 100)+1

2. 参数解释

参数解释
峰值产生速度生产者产生数据的最快速度,单位为MB/s
副本数创建主题时指定的副本数

三、分区数计算

1. 计算公式

分区数=Tt / min(Tp,Tc)

2. 参数解释

参数解释
Tt期望吞吐量,由自己设置,即想让Kafka的吞吐量达到一个什么样的速度,单位为MB/s
Tp一个生产者向一个主题中的一个分区生产数据的平均速度,使用压力测试进行计算,单位为MB/s
Tc一个消费者从一个主题中的一个分区消费数据的平均速度,使用压力测试进行计算单位为MB/s

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值