kafka生產者和消費者吞吐量測試-kafka 商業環境實戰

資料雲技術社群發表於2018-10-28

kafka線上真實環境實戰及調優進階系列

本套系列部落格從真實商業環境抽取案例進行總結和分享,並給出kafka商業應用的調優建議和叢集環境容量規劃等內容,請持續關注本套部落格。版權宣告:本套kafka調優系列版權歸作者(秦凱新)所有,禁止轉載,歡迎學習。

1. kafka生產者吞吐量測試指標

kafka-producer-perf-test :是kafka提供的測試Producer效能指令碼,通過指令碼,可以計算出Producer在一段時間內的平均延時和吞吐量。

1.1 kafka-producer-perf-test

在kafka安裝目錄下面執行如下命令,生產環境中儘量讓指令碼執行較長的時間,才會有意義:

bin/kafka-producer-perf-test.sh --topic test --num-records 500000 --record-size 200 --througthput -1 --producer-props bootstrap.servers=bd-master:9092,bd-slave1=9092,bd-slave3=9092 acks=1

1.2 測試結果分析如下:

500000 records sent ,41963 records/sec (8.00 MB/sec),2362.85 ms/avg latency ,3513.00 ms max latency ,2792ms 50h ,3144ms 95th ,3364 ms 99h,3503ms 99.9th

看到上面的結果肯定蒙了,看我細細講來: kafka 的平均吞吐量是8.00 MB/sec ,即佔用64Mb/s左右的頻寬,平均每一秒傳送41963條訊息。平均延時為2362.85 ms,最大延時為3513.00 ms,95%的訊息傳送需要3144ms,99%的訊息傳送需要3364ms,99.9%的訊息傳送需要3503ms。

2. kafka消費者吞吐量指標說明:

2.1 kafka-consumer-perfs

我們總共測試500萬條資料量 bin/kafka-consumer-perfs-test.sh --broker-list bd-master:9092,bd-slave1=9092,bd-slave3=9092 --message-size 200 --messages 500000 --topic test

2.2 得到如下結果:

2018-10-28 9:39:02 95.4188 92.2313 500271 484289 看到上面的結果肯定蒙了,看我細細講來: 該環境下,1s內總共消費了95.4188MB訊息,吞吐量為92.2313MB/s,也即736Mb/s。

3 結語

秦凱新 於深圳 2018-10-28

相關文章