Kafka設計解析(五)- Kafka性能測試方法及Benchmark報告
原創(chuàng)文章,轉載請務必將下面這段話置于文章開頭處。(已授權InfoQ中文站發(fā)布)
本文轉發(fā)自技術世界,原文鏈接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark
簡述
本文主要介紹了如何利用Kafka自帶的性能測試腳本及Kafka Manager測試Kafka的性能,以及如何使用Kafka Manager監(jiān)控Kafka的工作狀態(tài),最后給出了Kafka的性能測試報告。
性能測試及集群監(jiān)控工具
Kafka性能測試腳本
-
$KAFKA_HOME/bin/kafka-producer-perf-test.sh該腳本被設計用于測試Kafka Producer的性能,主要輸出4項指標,總共發(fā)送消息量(以MB為單位),每秒發(fā)送消息量(MB/second),發(fā)送消息總數(shù),每秒發(fā)送消息數(shù)(records/second)。除了將測試結果輸出到標準輸出外,該腳本還提供CSV Reporter,即將結果以CSV文件的形式存儲,便于在其它分析工具中使用該測試結果 -
$KAFKA_HOME/bin/kafka-consumer-perf-test.sh該腳本用于測試Kafka Consumer的性能,測試指標與Producer性能測試腳本一樣
kafka-producer-perf-test.sh:測試Kafka Producer的性能
kafka-consumer-perf-test.sh:測試Kafka Consumer的性能
Kafka Metrics
Kafka使用Yammer Metrics來報告服務端和客戶端的Metric信息。Yammer Metrics 3.1.0提供6種形式的Metrics收集——Meters,Gauges,Counters,Histograms,Timers,Health Checks。與此同時,Yammer Metrics將Metric的收集與報告(或者說發(fā)布)分離,可以根據(jù)需要自由組合。目前它支持的Reporter有Console Reporter,JMX Reporter,HTTP Reporter,CSV Reporter,SLF4J Reporter,Ganglia Reporter,Graphite Reporter。因此,Kafka也支持通過以上幾種Reporter輸出其Metrics信息。
使用JConsole查看單服務器Metrics
? 使用JConsole通過JMX,是在不安裝其它工具(既然已經(jīng)安裝了Kafka,就肯定安裝了Java,而JConsole是Java自帶的工具)的情況下查看Kafka服務器Metrics的最簡單最方便的方法之一。
通過Kafka Manager查看整個集群的Metrics
? Kafka Manager是Yahoo開源的Kafka管理工具。
Kafka Benchmark
Producer Only
Producer Number VS. Throughput
Message Size VS. Throughput
Partition Number VS. Throughput
Replica Number VS. Throughput
Consumer Only
Producer Consumer pair
Kafka系列文章
Kafka設計解析(一)- Kafka簡介及架構介紹
Kafka設計解析(二)- Kafka High Availability (上)
Kafka設計解析(三)- Kafka High Availability (下)
Kafka設計解析(四)- Kafka Consumer設計解析
Kafka設計解析(五)- Kafka性能測試方法及Benchmark報告
Kafka設計解析(六)- Kafka高性能架構之道
Kafka設計解析(七)- Kafka Stream