Kafka性能基准测试

原文地址:http://www.louisvv.com/archives/2127.html

许久不见,最近工作有点忙,没来得及更博

这段时间对几个大数据框架做了BenchMark(基准测试),待整理后,会分享出来


关于BenchMark

简单的来说,BenchMark是一个系统性能的测量工作,也可以看做是一种评价方式

主要测试负载的执行时间、传输速度、吞吐量、资源占用率等

对系统进行性能基准测试后,将得到的基准数据作为性能指标的参照物,可用于以下场景

1.任意一项变更为系统产生的影响

修改某项配置参数后(启用某项参数),系统的变化情况

2.系统环境的变更对系统性能产生的影响

3.在相同场景下,不同框架的系统性能表现的差异

一些大数据BenchMark工具:

1.Hibench:由Intel开发的针对Hadoop的基准测试工具

2.Berkeley BigDataBench:随着Spark的推出,由AMPLab开发的一套大数据基准测试工具

3.Hadoop GridMix:Hadoop自带的Benchmark,作为Hadoop自带的测试工具使用方便、负载经典,应用广泛

 

除此之外,有些大型的框架会自带BenchMark工具,方便进行测试

 


了解BenchMark后,就要开始今天的文章:Kafka基准测试

分别实用Kafka自带的基准工具对Kafka Producer/Consumer进行性能基准测试

Kafka版本:Scala_2.11-1.1.0

服务器配置

    三台服务器

  • IntelXeon 3.2 GHz * 12 cores
  • 251GB RAM
  • Red Hat 7.5
  • 10 Gb Ethernet

Kafka Producer基准测试

测试背景

需要对Kafka Producer在不同参数下的性能

性能指标

平均吞吐量(条/秒)、平均延时(毫秒)、平均吞吐率速率(MB/秒)

测试方法

使用Kafka基准测试工具kafka-producer-perf进行测试

这个工具位于kafka/bin目录下

这里仅简单介绍一下该工具的一些必要参数

 

<span style="color:#000000">./kafka-producer-perf-test.sh 
--topic 指定topic
--num-records	指定生产数据量
--throughtput	指定吞吐量
--record-size   record数据大小
--producer-props key=value	指定producer配置</span>

一个实例如下:

<span style="color:#000000">./kafka-producer-perf-test.sh 
--topic louisvv
--num-records 5000000
--throughtput -1
--record-size 200
--producer-props bootstrap.servers=192.168.1.20:9092,192.168.1.21:9092,192.168.1.22:9092 acks=1</span>

测试参数

除了测试acks以及replication对kafka producer的吞吐量外,还对其他参数进行测试。

参数列表如下

参数 参数说明
acks 数据发送确认机制
batch-size 批处理大小
record-size 数据长度
num-records 数据条数
replication topic备份数
partition topic分区数

默认设置

1.以5000万数据测试结果为准,该结果更加具有代表性

2.测试其他参数时,默认设置acks=1,partition数为5,replication数为2

测试结果分析

acks

分别设置kafka producer acks参数为0、1、all,进行测试

测试结果如下:

数据(万) acks 平均吞吐量
(条/秒)
平均延时(毫秒) 平均吞吐速率(MB/S)
5000 0 627045.7367 250.83 119.6
5000 1 771771.6791 202.89 147.2
5000 all 219516.7996 721.08 41.87

图表如下:

 

结论:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值