num threads”选项的替代选项

tnkciper  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(475)

Kafka已经移除了 --num-threads 来自的选项 option of org.apache.kafka.tools.ProducerPerformance 从Kafka2.0开始
另一个解决办法是什么?

at0kjp5o

at0kjp5o1#

我们首先需要了解--num线程的用途。
参数 --num-threads 以前用于控制每个线程的消息吞吐量。
像这样的

ProducerPerformanceThread[] producerPerformanceThreads = new ProducerPerformanceThread[numThreads];
        long numRecordsPerThread = numRecords / numThreads;
        int throughputPerThread = throughput <= 0 ? throughput : Math.max(throughput / numThreads, 1);
        int batchSize = 1;

然而,现在有了这个改变,他们已经废除了限制或控制吞吐量的粗糙方法,而是让您可以选择完全取消限制,您可以通过将--throughput的值设置为-1来完成
如果仔细观察,内部实现现在是这样的

ThroughputThrottler throttler = new ThroughputThrottler(throughput, startMs);

因此,现在应该只设置吞吐量的值,而不必担心线程的数量。

相关问题