Kafka性能测试分析

来源:互联网 发布:算法谜题 百度云 编辑:程序博客网 时间:2024/05/22 06:37

本文来源 http://blog.csdn.net/u013970991/article/details/52061794

本文作者是一位非常有经验的Java 开发人员,博客值得细心钻研


一、测试环境准备

Cpu内存硬盘Intel(R) Xeon(R) CPU E5520 @ 2.27GHz32G6T

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Kafka server端配置

broker.id=165port=9092host.name=hadoop165.kuaiyong.innum.network.threads=3num.io.threads=8socket.send.buffer.bytes=102400socket.receive.buffer.bytes=102400socket.request.max.bytes=104857600log.dirs=/download/kafka-logsnum.partitions=1num.recovery.threads.per.data.dir=1log.retention.hours=168log.segment.bytes=1073741824log.retention.check.interval.ms=300000log.cleaner.enable=falsezookeeper.connect=hadoop165.xxx.in:2181,hadoop166.xxx.in:2181,hadoop167.xxx.in:2181zookeeper.connection.timeout.ms=6000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

测试命令行如下

生产者:

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
  • 1
  • 2
  • 3

消费者

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

二、正常请求测试

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万条左右


原创粉丝点击