Kafka性能测试分析

版权声明:版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/qq_42246689/article/details/86544783

首先要特别感谢赵崇贺同学利用业余时间进行的压测,才能为本文提供专业的测试数据

一、测试环境准备

Cpu 内存 硬盘
Intel(R) Xeon(R) CPU E5520 @ 2.27GHz 32G 6T

Kafka集群,服务器个数:3台
采用CMS垃圾回收

JVM运行参数

-Xmx1G -Xms1G -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
-XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true 
-Xloggc:/usr/local/kafka_2.10-0.8.2.2/bin/../logs/kafkaServer-gc.log -verbose:gc 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps 
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
-Dkafka.logs.dir=/usr/local/kafka_2.10-0.8.2.2/bin/../logs
-Dlog4j.configuration=file:/usr/local/kafka_2.10-0.8.2.2/bin/../config/log4j.properties
  
  

    Kafka server端配置

    broker.id=165
    port=9092
    host.name=hadoop165.kuaiyong.in
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    
    
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/download/kafka-logs
    num.partitions=1
    num.recovery.threads.per.data.dir=1
    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    log.cleaner.enable=false
    
    zookeeper.connect=hadoop165.xxx.in:2181,hadoop166.xxx.in:2181,hadoop167.xxx.in:2181
    
    zookeeper.connection.timeout.ms=6000
      
      

      测试命令行如下

      生产者:

      bin/kafka-producer-perf-test.sh --broker-list=hadoop02:9092 
      --messages 100000 --topic s1 --threads 10 --message-size 1000 
      --batch-size 200 --compression-codec 1
        
        

        消费者

        bin/kafka-consumer-perf-test.sh --zookeeper hadoop03:2181 
        --messages 500000 --topic s1 --threads 1
          
          

          二、正常请求测试

          1、Producer:

          数据量:230万条记录
          每次打包发送1000条数据
          数据格式:采用压缩格式

          测试结果
          最大处理量:39.2501MB/S
          TPS:41156.6817条

          2、Consumer

          耗时:18秒
          总体文件大小:2193.45MB
          最大处理量:163.6659MB/S
          TPS:171616.1767条

          三、压力请求测试

          1、Producer

          数据量:1000万条数据
          每次打包发送1000条数据
          数据格式:采用压缩格式

          测试结果
          耗时:242秒
          总体文件大小:9536.74MB
          最大处理量:39.2531MB/S
          TPS:41159.8856条

          2、Consumer

          耗时:70秒
          总体文件大小:9536.74MB
          最大处理量:145.4193MB/S
          TPS:152483.1887条

          结论:1000万条下的压力测试,性能有所降低,估计瓶颈期在500万条左右

          猜你喜欢

          转载自blog.csdn.net/qq_42246689/article/details/86544783