1)创建一个只有1个分区的topic
2)测试这个topic的producer吞吐量和consumer吞吐量。
3)假设他们的值分别是Tp和Tc,单位可以是MB/s。
4)然后假设总的目标吞吐量是Tt,那么分区数=Tt / min(Tp,Tc)
例如:producer吞吐量=20m/s;consumer吞吐量=50m/s,期望吞吐量100m/s;
分区数=100 / 20 =5分区
https://blog.csdn.net/weixin_42641909/article/details/89294698
分区数一般设置为:3-10个

另外一个版本

选择合适的分区数量可以达到高度并行读写和负载均衡的目的,在分区上达到均衡负载是实现吞吐量的关键。需要根据每个分区的生产者和消费者的期望吞吐量进行估计。
举个栗子:假设期望读取数据的速率(吞吐量)为1GB/Sec,而一个消费者的读取速率为50MB/Sec,此时至少需要20个分区以及20个消费者(一个消费者组)。同理,如果期望生产数据的速率为1GB/Sec,而每个生产者的生产速率为100MB/Sec,此时就需要有10个分区。在这种情况下,如果设置20个分区,既可以保障1GB/Sec的生产速率,也可以保障消费者的吞吐量。通常需要将分区的数量调整为消费者或者生产者的数量,只有这样才可以同时实现生产者和消费者的吞吐量。
一个简单的计算公式为:分区数 = max(生产者数量,消费者数量)
· 生产者数量=整体生产吞吐量/每个生产者对单个分区的最大生产吞吐量
· 消费者数量=整体消费吞吐量/每个消费者从单个分区消费的最大吞吐量