Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告
原创文章,转载请务必将下面这段话置于文章开头处。(已授权InfoQ中文站发布)
本文转发自技术世界,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark
简述
本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的性能测试报告。
性能测试及集群监控工具
Kafka性能测试脚本
-
$KAFKA_HOME/bin/kafka-producer-perf-test.sh
该脚本被设计用于测试Kafka Producer的性能,主要输出4项指标,总共发送消息量(以MB为单位),每秒发送消息量(MB/second),发送消息总数,每秒发送消息数(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的收集与报告(或者说发布)分离,可以根据需要自由组合。目前它支持的Reporter有Console Reporter,JMX Reporter,HTTP Reporter,CSV Reporter,SLF4J Reporter,Ganglia Reporter,Graphite Reporter。因此,Kafka也支持通过以上几种Reporter输出其Metrics信息。
使用JConsole查看单服务器Metrics
使用JConsole通过JMX,是在不安装其它工具(既然已经安装了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