kafka性能测试

1.环境准备

    1)云机环境(三台云机环境一致)



    2)kafka配置(
version:0.9.0

2.测试方式

      1)生产者测试
    使用kafka自带工具%KAFKA_HOME%/bin/kafka-producer-perf-test.sh,可用参数可参考./bin/kafka-producer-perf-test.sh --help

    在使用的过程中对不同的topic(拥有不同的分区数和复制数),设置不同的参数来进行测试

    2)消费者测试
     使用kafka自带工具%KAFKA_HOME%/bin/kafka-consumer-perf-test.sh,可用参数可参考./bin/kafka-consumer-perf-test.sh --help
    
    在使用过程中对不同的topic(拥有不同的分区数和复制数),设置不同的参数来进行测试

3.数据准备

    设置不同的topic,拥又不同的partitions 和 replication-factor数
    笔者创建八个topic用于测试,分别是:


      1)生产者
    设置 --num-records 500000 --throughput 1000000 --producer-props bootstrap.servers=10.187.96.50:9092, 10.187.96.51:9092,10.187.96.52:9092(用户需设置自己的kafka集群地址及端口号) 

    2)消费者
    设置 --messages 500000 --message-size 1024 --zookeeper 10.187.96.50:2181,10.187.96.51:2181,10.187.96.52:2181(用户需设置自己的zookeeper集群地址及端口号) 


4.生产者测试及结果分析

    1)不同record-size(单条消息体大小)下的测试



    图表展示如下 (X轴:单消息体大小[1024,512,256,128,64,32],Y轴:记录数/秒)



    结论:消息体越小,每秒生产的记录数越多

    2)不同partition(topic分区数)下的测试

   
 
   图表展示如下(X轴:分区数[1,2,3,4,6],Y轴:记录数/秒)



    结论:随着分区数的增大,每秒生产数也相应增大,在partitions=3的时候达到最大,然后继续增加分区数,每秒生产数开始减少

    3)不同replication-num(复制数)下的测试



     图表展示如下 (X轴:分片复制数[1,2,3],Y轴:记录数/秒)



    结论:分片复制数越多,每秒生产记录数越少(一般设置与broker数相同即可)

    4)其他影响生产记录数的因素
    broker和producer的配置可影响生产记录数,参考参数如下:


5.消费者测试及结果分析

    1)不同record-size(单条消息体大小)下的测试



    图表展示如下(X轴:单条消息体大小[1024,512,256,64],Y轴:记录数/秒)



    结论:单条消息体大小对每秒消费数据影响不大(都在38万/秒附近浮动)
    
    2)不同thread-num(消费线程数)下的测试



    图表展示如下(X轴:消费线程数[1,2,3,4],Y轴:记录数/秒)



    结论:消费线程数越大,每秒消费数越多;当消费线程数大于分区数时,多余的线程无法消费到数据

    3)不同partitions(分区数)下的测试



    图表展示如下(X轴:分区数[1,2,3,4,5,6],Y轴:记录数/秒)



    结论:在一定范围内,分区数越大,每秒消费数越高;
         PRESSURE_TEST_PART_3_REP_3最低?TODO
         分区数持续增大,每秒记录数开始降低,降低原因可参考 http://blog.youkuaiyun.com/kwengelie/article/details/51150114  

     4)其他影响消费者性能的参数




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恐龙弟旺仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值