kafka 性能测试

压测实操--produce压测方案 作者:九月环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。 阅读详情


昨天在公司时,本来想用kafka官方提供的工具做性能测试的。但事与愿违,当我执行官方提供的kafka测试脚本,却报错没有找到ProducerPerformance,后来浏览一些代码文件,才发现没有把perf性能测试程序打包到kafka_2.x.0-0.8.x.x.jar发行版本中。

现在来教您如何打包做测试。

1.准备工作:

安装gradle

2.下载kafka源代码

kafka-0.8.1源代码

3.编译kafka-perf_2.x-0.8.1.x.jar

编译注意事项:默认情况下是编译为2.8.0版本,也可以指定版本编译。目前编译高版本的kafka-perf(2.8.0以上版本)是由问题的,因为build.gradle配置参数有问题(版本不同,会报如下错误,版本不兼容错误),如果要构建高版本kafka-perf多版本修改内容如下:

下载build.gradle   替换掉kafka-0.8.1.1-src根目录下文件即可

编译构建执行命令:

gradle jar    默认生成2.8.0版本的kafka和kafka-perf的jar

gradle jar_core_2_8_0 生成2.8.0版本的kafka的jar

gradle jar_core_2_8_2 生成2.8.2版本的kafka的jar

gradle jar_core_2_9_1 生成2.9.1版本的kafka的jar

gradle jar_core_2_9_2 生成2.9.2版本的kafka的jar

gradle jar_core_2_10_1 生成2.10.1版本的kafka的jar

gradle perf:jar 生成2.8.0版本的kafka和kafka-perf的jar

gradle perf_2_9_1 生成2.9.1版本的kafka和kafka-perf的jar

gradle perf_2_10_1 生成2.10.1版本的kafka和kafka-perf的jar

gradle -PscalaVersion=2.8.0 jar 编译scala 2.8.0版本编译所有jar

gradle -PscalaVersion=2.8.2 jar 编译scala 2.8.2版本编译所有jar

gradle -PscalaVersion=2.9.1 jar 编译scala 2.9.1版本编译所有jar

gradle -PscalaVersion=2.10.1 jar 编译scala 2.10.1版本编译所有jar

如果不想编译jar,可以直接下载:kafka-perf_2.x.x-0.8.1.jar 

lizhitao@users-MacBook-Pro:~/mt_wp/tmp$ cd kafka-0.8.1.1-src

lizhitao@users-MacBook-Pro:~/mt_wp/tmp/kafka-0.8.1.1-src$gradle jar

lizhitao@users-MacBook-Pro:~/mt_wp/tmp/kafka-0.8.1.1-src$gradle perf:jar
The TaskContainer.add() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the create() method instead.
Building project 'core' with Scala version 2.8.0
Building project 'perf' with Scala version 2.8.0
:core:compileJava UP-TO-DATE
:core:compileScala
/Users/lizhitao/mt_wp/tmp/kafka-0.8.1.1-src/core/src/main/scala/kafka/admin/AdminUtils.scala:243: non variable type-argument String in type pattern scala.collection.Map[String,_] is unchecked since it is eliminated by erasure
        case Some(map: Map[String, _]) =>
                       ^
/Users/lizhitao/mt_wp/tmp/kafka-0.8.1.1-src/core/src/main/scala/kafka/admin/AdminUtils.scala:246: non variable type-argument String in type pattern scala.collection.Map[String,String] is unchecked since it is eliminated by erasure
            case Some(config: Map[String, String]) =>
                              ^
/Users/lizhitao/mt_wp/tmp/kafka-0.8.1.1-src/core/src/main/scala/kafka/api/LeaderAndIsrResponse.scala:66: non variable type-argument String in type pattern (String, Int) is unchecked since it is eliminated by erasure
    for ((key:(String, Int), value) <- responseMap) {
              ^
/Users/lizhitao/mt_wp/tmp/kafka-0.8.1.1-src/core/src/main/scala/kafka/utils/Utils.scala:363: non variable type-argument V in type pattern List[V] is unchecked since it is eliminated by erasure
        case Some(l: List[V]) => m.put(k, v :: l)
                     ^
four warnings found
:core:processResources UP-TO-DATE
:core:classes
:core:copyDependantLibs UP-TO-DATE
:core:jar UP-TO-DATE
:perf:compileJava UP-TO-DATE
:perf:compileScala
:perf:processResources UP-TO-DATE
:perf:classes
:perf:jar UP-TO-DATE

BUILD SUCCESSFUL
Total time: 54.41 secs

编译jar包目录如下:

a. kafka_2.x-0.8.1.1.jar

kafka-0.8.1.1-src/core/build


b.kafka-perf_2.x-0.8.1.x.jar

kafka-0.8.1.1-src/perf/build/libs


kafka多版本jar:



4. kafka性能测试命令用法:

4.1 创建topic

bin/kafka-topics.sh --zookeeper 192.168.2.225:2182,192.168.2.225:2183/config/mobile/mq/mafka02 --create --topic test-rep-one --partitions 6 --replication-factor 1


4.2 kafka-producer-perf-test.sh中参数说明:

messages 生产者发送总的消息数量

message-size 每条消息大小

batch-size 每次批量发送消息的数量

topics 生产者发送的topic

threads 生产者使用几个线程同时发送

broker-list 安装kafka服务的机器ip:port列表

producer-num-retries 一个消息失败发送重试次数

request-timeout-ms 一个消息请求发送超时时间

4.3 bin/kafka-consumer-perf-test.sh中参数说明:

zookeeperzk 配置

messages 消费者消费消息总数量

topic 消费者需要消费的topic

threads 消费者使用几个线程同时消费

group 消费者组名称

socket-buffer-sizesocket 缓冲大小

fetch-size 每次向kafka broker请求消费大小

consumer.timeout.ms 消费者去kafka broker拿去一条消息超时时间

4.4 生产者发送数据:

lizhitao@users-MacBook-Pro:~/mt_wp/tmp/kafka-0.8.1.1-src$ bin/kafka-producer-perf-test.sh --messages 5000000 --message-size 5000  --batch-size 5000 --topics test-rep-one --threads 8 --broker-list mobile-esb03:9092,mobile-esb04:9092,mobile-esb05:9092

start.time, end.time, compression, message.size, batch.size, total.data.sent.in.MB, MB.sec, total.data.sent.in.nMsg, nMsg.sec

开始时间  结束时间  是否压缩  每个消息的大小 发送每组消息的个数 发送消息的总大小 每分钟发送消息的大小 一共发送消息的总量 没秒发送的消息数量

[2014-07-06 12:52:36,139] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[2014-07-06 12:52:36,199] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,202] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,204] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,206] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,207] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,209] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)
[2014-07-06 12:52:36,214] WARN Property reconnect.interval is not valid (kafka.utils.VerifiableProperties)

2013-04-09 11:52:43:192, 2013-04-09 11:56:06:136, 1, 1000, 200, 9536.74, 46.9920, 10000000, 49274.6768

4.5 消费者消费数据

lizhitao@users-MacBook-Pro:~/mt_wp/tmp/kafka-0.8.1.1-src$ bin/kafka-consumer-perf-test.sh --zookeeper

192.168.2.225:2182,192.168.2.225:2183/config/mobile/mq/mafka02 --messages 50000000 --topic test-rep-one --threads 1

start.time, end.time, fetch.size, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec

开始时间  结束时间     消费每组消息的个数 消费消息的总大小 每分钟消费消息的大小 一共消费消息的总量 没秒消费的消息数量

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.


转载自 http://blog.youkuaiyun.com/lizhitao/article/details/35847927

【kafka性能测试脚本详解、性能测试、性能分析与性能调优】 官方在kafka高版本发行时,修改了这个默认值,暂时理解为官网的推荐设置,但对于实时性较高的业务,比如实时统计用户访问量的分析,一般会启用这个配置,即设置为true,但对于可靠性较高的业务,比如银行的业务,宁可花费几分钟或几个小时的延时后再处理像信用卡支付的业务,也不会冒险处理错误的消息。因此,按真实的业务场景来设置即为合理。使用实时性较高的系统,也不建议采用该模式。,默认值为5000ms,即5秒提交一次,可以通过该参数来设置提交的频度,一般来说,提交频度越高,越会带来更高的系统开销,可靠性也随之提高。 阅读详情

相关推荐

如何使用Jmeter对Kafka进行性能测试

最近决定把阿里云的消息服务MNS换成Kafka,作为一个测试人员,当然要了解它,测试它。所以,把自己学习和使用的一些经验记录在本文中,研究如何去使用Apache JMeter测试Kafka。 首先,先来了解一下什么是Kafka。 A Brief Overview of Apache Kafka 在一个大型的分布式系统中,通常有很多服务生成不同的事件:日志、监视数据、可疑用户操作等等。在Kafk...

shan286的专栏 1万+

apache kafka性能测试命令使用和构建kafka-perf

Producer Setupbin/kafka-topics.sh --zookeeper esv4-hcl197.grid.linkedin.com:2181 --create --topic test-rep-one --partitions 6 --replication-factor 1bin/kafka-topics.sh --zookeeper esv4-hcl197.grid.lin

李志涛的专栏 1万+

Kafka性能测试-kafka-producer/consumer

1.写入数据命令(以下所有命令必须在kafka/bin目录下面执行) ./kafka-producer-perf-test.sh --topic newgameMG–num-records 1000000 --record-size 2000 --throughput 500000 --producer-props bootstrap.servers=172.18.3.94:9099,172.18...

hanjihun88的博客 1380

Kafka 验证部署(单机版)kafka-producer-perf-test.sh 吞吐量测试工具的基本使用

1.测试topic创建与删除 (1)创建一个测试topic,名为test-topic。创建3个分区,每个分区分配1个副本(因为是单机kafka,如果是集群的话可以分配多个副本),如果分配的副本数大于broker的数量时,会报错 bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test-topic --partitions 3 --replication-factor 1 (2)查看topic是否创建成功 .

是个好男人的博客 6871

kafka 10 性能测试

最近需要做kafka性能测试,一般的比较省事的作法,是直接使用kafka自带的脚本,选个比较NB的机器做压测即可。jdk版本不能太低,否则可能出现下面的异常 Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/admin/TopicCommand : Unsupported major.minor ve

脚印 1万+

Kafka 性能测试脚本详解

Apache Kafka 官方提供了两个客户端性能测试脚本,它们的存放位置如下: - 生产者性能测试脚本:$KAFKA_HOME/bin/kafka-producer-perf-test.sh - 消费者性能测试脚本:$KAFKA_HOME/bin/kafka-consumer-perf-test.sh 支持测试的性能指标包括:吞吐量(throughput)、最大时延(max-latency)、平均时延(avg-latency)等。

六开箱 1249

Kafka性能测试

kafka是一个大数据消息队列(可以看做为缓存软件):能够读写数据:1、测试生产者每秒往kafka写入的最大吞吐量 2、测试消费者每秒从kafka里获取消息最大吞吐量。

前方的路在刚开始 1913

kafka-perf_2.x.x-0.8.1.jar

昨天在公司时,本来想用kafka官方提供的工具做性能测试的。但事与愿违,当我执行官方提供的kafka测试脚本,却报错没有找到ProducerPerformance,后来浏览一些代码文件,才发现没有把perf性能测试程序打包到kafka_2.x.0-0.8.x.x.jar发行版本中。

kafka如何选择分区数及kafka性能测试

kafka如何选择分区数及kafka性能测试 1、简言 ​ 如何选择合适的分区,这是我们经常面临的问题,不过针对这个问题,在网上并没有搜到固定的答案。因此,今天在这里主要通过性能测试的工具来告诉如何选择相对应的kafka分区。 2、性能测试工具 ​ kafka本身提供了比较的性能测试工具,我们可以使用它来测试适用于我们机器的kafka分区。 ① 生产者性能测试 分别创建三个topic,副本数设置...

初学者 1万+

电阻应变式力传感器

电阻应变式力传感器

lu_fresh_student的博客 5075

ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom...

许希律的博客 4353

kafka性能测试

一.硬件配置 3台服务器配置如下: CPU:2物理CPU,12核/CPU , 48 processor Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz 内存:128GB 硬盘:480GB*1 SSD盘(OS)+6TB*7 SAS盘 Broker节点数:3个 网络:10GE 二.测试方案 2.1 测试套件 使用kafka官方提供的性能测试工具 kafka-perf-test 1)producer命令 ./kafka-produ...

大JAVA解决方案 1189

【MATLAB】绘制泽尼克多项式

上次只给了公式没有给代码,很多小伙伴表示不是很认可。今天直接把代码发上来了。

HPC_ZY 5578

Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告

本文详细阐述了Kafka的性能测试方法,并全面展示了Kafka各组件的性能测试报告。

技术世界 2073

VASP编译疑难解析—手动配置icx路径解决libintel64报错

本文针对VASP编译过程中执行`make libintel64`时遇到的`icx: 没有那个文件或目录`报错,提供了详细的解决方案。核心在于手动定位Intel oneAPI编译器的绝对路径,并修改makefile中的编译器变量,从而解决因系统PATH环境变量未正确设置导致的libintel64编译失败问题。

weixin_28834765的博客 125

分子动力学仿真软件:LAMMPS_(16).应用案例分析

通过以上四个应用案例,我们详细介绍了如何使用LAMMPS进行不同系统的分子动力学仿真。从简单的液体水仿真到复杂的纳米管仿真,每个案例都包含了详细的步骤说明和代码示例。读者可以通过这些示例实际操作并验证结果,从而更好地理解LAMMPS的功能和使用方法。希望这些案例能够为读者在分子动力学仿真领域的研究和应用提供帮助。

kkchenjj的博客 838

Kafka性能测试脚本详解

Apache Kafka 官方提供了两个客户端性能测试脚本

fanxl10的专栏 2754

MOS五类漏电流与优化策略

分析了五种主要漏电流机制:1)反偏结泄漏,由PN结热激发和隧

硬核科技 444

Kafka性能测试方法及Benchmark报告

本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的性能测试 摘要   本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的

2338

基于STM32L4XX 、HAL库的DRV8833RTYR步进电机驱动器驱动程序应用设计

/ 注:具体计算取决于你的定时器配置,例如 Period=1000, duty_cycle 0-100 -> compare_value = duty_cycle * 10。// 控制电机方向/停止/刹车。//================== 硬件引脚映射 (请根据实际电路修改) ==================

PP_Cottage的博客 180

Ardupilot chibios IO固件,IO与FMU通信,固件下载(3)

目录 文章目录目录摘要 摘要 本节主要记录自己学习IO与FMU通信

陌城烟雨 2801

Kafka性能测试工具

简介 Kafka本身自带了性能测试的脚本,可以测试发送端和消费端的速度,分别为: kafka-producer-perf-test.sh kafka-consumer-perf-test.sh 这两个脚本可以在kafka的bin目录下找到。 发送端 bin/kafka-producer-perf-test.sh usage: producer-performance [-h] --topic TOPIC --num-records NUM-RECORDS --record-size RECORD-SIZE

修破立生 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: hadoop 2.5.1集群安装
下一篇: 删除kafka 的topic
rtnull
博客等级 码龄16年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值