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.3.179:9099,172.18.3.177:9099

kafka-producer-perf-test.sh 脚本命令的参数解析(以100w写入消息为例):
–topic topic名称,本例为test_perf
–num-records 总共需要发送的消息数,本例为100000
–record-size 每个记录的字节数,本例为2000
–throughput 每秒钟发送的记录数,本例为500000
–producer-props bootstrap.servers=172.18.3.94:9099,172.18.3.179:9099,172.18.3.177:9099(发送端的配置信息,可在kafka的config目录,以该项目为例:/usr/local/kafka/config;查看server.properties中配置的zookeeper.connect的值,默认端口:9092)

执行结果如下
Kafka性能测试-kafka-producer/consumer

结果参数说明:

100000 records sent :总写入消息数

101543.460601records/sec:每秒写入消息数

193.68MB/sec:每秒写入数据大小(单位:MB)

153.37ms avg latency:平均延迟时间(单位:毫秒)

289.00ms max latency:最大延迟时间(单位:毫秒)

  1. 消费命令
    kafka-consumer-perf-test.sh --topic newgameAB --threads 1 --messages 100000 --fetch-size 1048576 --broker-list zy-y8-kk-test-yace06:9099,zy-y8-kk-test-yace05:9099,zy-y8-kk-test-yace04:9099

afka-consumer-perf-test.sh 脚本命令的参数为:
–topic 指定topic的名称,本例为test_perf,即4.2.1中写入的消息;
–fetch-size 指定每次fetch的数据的大小,本例为1048576,也就是1M
–messages 总共要消费的消息个数,本例为1000000,10w

–broker-list 消费端的配置信息
Kafka性能测试-kafka-producer/consumer

结果参数说明

data.consumed.in.MB:总消费数据(单位M)
MB.sec:每秒的消费量(单位M)
data.consumed.in.nMsg:总共消费的消息条数
nMsg.sec:每秒消费的消息数

3.其他命令
查看所有组

要想查询消费数据,必须要指定组。运行的kafka有哪些组呢?使用以下命令前提(有正在消费的组或已经消费完成的分组):

kafka-consumer-groups.sh --bootstrap-server 172.18.3.94:9099 --list

注意:根据实际情况修改kafka的连接地址

执行输出:
Kafka性能测试-kafka-producer/consumer

这些组在是程序代码里面定义的,比如usercenter就是一个业务模块。

查看消费情况

kafka-consumer-groups.sh --describe --bootstrap-server 172.18.3.94:9099 --group perf-consumer-87277

参数解释:

–describe 显示详细信息

–bootstrap-server 指定kafka连接地址

–group 指定组。
Kafka性能测试-kafka-producer/consumer

guoup:消费的进程

TOPIC: topic的名称

PARTITION:topic分区

CURRENT-OFFSET:当前已消费条数

LOG-END-OFFSET :topic对应分区消息总数

LAG:topic对应分区未消费条数

CONSUMER-ID :消费id

HOST:主机IP

CLIENT-TD:客户端id

查看zookeeper下所有的topic命令 ./kafka-topics.sh --zookeeper 172.18.3.94:2181 --list

zookeeper下创建topic命令 ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic