Kafka性能测试方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/successA/article/details/76408650

以下会介绍利用Kafka自带的性能测试脚本及KafkaManager测试Kafka的性能,以及如何使用Kafka Manager监控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 Metrics

  Kafka使用Yammer Metrics来报告服务端和客户端的Metric信息。YammerMetrics 3.1.0提供6种形式的Metrics收集——Meters,Gauges,Counters,Histograms,Timers,HealthChecks。与此同时,YammerMetrics将Metric的收集与报告(或者说发布)分离,可以根据需要自由组合。目前它支持的Reporter有Console Reporter,JMXReporter,HTTP Reporter,CSV Reporter,SLF4J Reporter,Ganglia Reporter,GraphiteReporter。因此,Kafka也支持通过以上几种Reporter输出其Metrics信息。

使用JConsole查看单服务器Metrics

  使用JConsole通过JMX,是在不安装其它工具(既然已经安装了Kafka,就肯定安装了Java,而JConsole是Java自带的工具)的情况下查看Kafka服务器Metrics的最简单最方便的方法之一。

首先必须通过为环境变量JMX_PORT设置有效值来启用Kafka的JMXReporter。如exportJMX_PORT=19797。然后即可使用    JConsole通过上面设置的端口来访问某一台Kafka服务器来查看其Metrics信息。

  使用JConsole的一个好处是不用安装额外的工具,缺点很明显,数据展示不够直观,数据组织形式不友好,更重要的是不能同时监控整个集群的Metrics。

通过Kafka Manager查看整个集群的Metrics

  Kafka Manager是Yahoo开源的Kafka管理工具。它支持如下功能

  管理多个集群

  方便查看集群状态

  执行prefered replica election

  批量为多个Topic生成并执行Partition分配方案

  创建Topic

  删除Topic(只支持0.8.2及以上版本,同时要求在Broker中将delete.topic.enable设置为true)

  为已有Topic添加Partition

  更新Topic配置

  在Broker JMX Reporter开启的前提下,轮询Broker级别和Topic级别的Metrics

  监控Consumer Group及其消费状态

  支持添加和查看LogKafka



猜你喜欢

转载自blog.csdn.net/successA/article/details/76408650