我使用producer-perf-test.sh进行一些性能测试。 输出指标结果包括请求速率平均,请求大小平均和吞吐量(MB / s),我在linkedIn ppt slide中使用了等式。
我发现测试中的结果不适合吞吐量= request-rate-avg * request-size-avg / compression-rate。 request-rate-avg的真正含义是什么?该文件告诉我们,request-rate-avg是每秒发送的平均请求数,但我的结果始终小于吞吐量(实际上约为1/4)。
以下是测试脚本之一,也是结果的一部分:
kafka-producer-perf-test.sh --num-records 1000000 --throughput 1000000 --record-size 1000 --topic ProTestPt9 --producer-props bootstrap.servers=broker1:9092,broker2:9092,broker3:9092 batch.size=29000 --print-metrics
results:
batch-size-avg = 28159.023
records-per-request = 83.542
request-size-avg = 84531.89
request-total-number = 11977
request-rate = 303.039
request-latency-avg = 9.511
records/sec 10397.72(99.16 MB/sec)
为什么request-rate-avg * records-per-request不等于记录/秒? Kafka开发人员如何定义这些指标?