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