1、创建test topic 单分区

bin/kafka-topics.sh --create --replication-factor 2 --partitions 1 --topic test --zookeeper xxx:2181

2、producer压力测试

bin/kafka-producer-perf-test.sh  --topic test --record-size 100 --num-records 100000 --throughput -1 --producer-props bootstrap.servers=xxx:9092

3、consumer压力测试

bin/kafka-consumer-perf-test.sh --broker-list xxx:9092 --topic test --fetch-size 10000 --messages 10000000 --threads 1

4、结果计算

1、压测 producer 最大可达 6.37MB/s
2、压测 consumer  --0.6453MB/s -- 一条1k =645条/s  一天可消费=51,840,000条 
故单分区的消费能力还是很高的。根据你监控的数据条数来决定,最大条数如果是1000条/s,那么分区可以计算为:1000/645=2个,为了安全起见设置为3个。

3、结论:一般分区设置为3-10个
机器台数也是,Kafka机器数量(经验公式)= 2 *(峰值生产速度 * 副本数 / 100)+ 1
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐