kafka的学习之二_kafka的压测与GUI管理

Posted 济南小老虎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka的学习之二_kafka的压测与GUI管理相关的知识,希望对你有一定的参考价值。

kafka的学习之二_kafka的压测与GUI管理


第一部分创建topic

cd /root/kafka_2.13-3.5.0
bin/kafka-topics.sh --create --bootstrap-server 10.110.139.184:9093  --command-config config/sasl.conf  --replication-factor 3 --partitions 3 --topic zhaobsh01

bin/kafka-topics.sh --create --bootstrap-server 10.110.139.184:9093  --command-config config/sasl.conf  --replication-factor 2 --partitions 5 --topic zhaobsh02

查看topic列表
bin/kafka-topics.sh --list --bootstrap-server 10.110.139.181:9093,10.110.139.182:9093,10.110.139.184:9093,10.110.139.185:9093,10.110.139.186:9093   --command-config config/sasl.conf

查看topic的分区情况等
bin/kafka-topics.sh --describe  --bootstrap-server 10.110.139.181:9093,10.110.139.182:9093,10.110.139.184:9093,10.110.139.185:9093,10.110.139.186:9093   --command-config config/sasl.conf

验证消息的发送与接收

开启一个消息生产端:
bin/kafka-console-producer.sh --bootstrap-server 10.110.139.181:9093  --producer.config config/sasl.conf --topic zhaobsh01
开启一个消息消费端
bin/kafka-console-consumer.sh --bootstrap-server 10.110.139.186:9093  --consumer.config config/sasl.conf --topic zhaobsh01 

在消费的生产端输入:
>zhaobsh
>test
然后在消费端就可以看到:
zhaobsh
test

测试脚本部分之一 生产者

bin/kafka-producer-perf-test.sh  --num-records 100000  --record-size 1024 --throughput -1 --producer.config config/sasl.conf  --topic zhaobsh01 --producer-props bootstrap.servers=10.110.139.181:9093 --print-metrics

# 参数解析
--num-records 100000  消息条数
--record-size 1024    消息大小
--throughput -1       不进行流量限制.
--producer.config     读取用户密码相关
--topic               要测试的消息队列信息.
--print-metrics       展示具体的信息
--producer-props bootstrap.servers=node:port 指定服务器
zhaobsh001:
100000 records sent, 18885.741265 records/sec (18.44 MB/sec), 1128.56 ms avg latency, 1751.00 ms max latency, 1215 ms 50th, 1642 ms 95th, 1731 ms 99th, 1748 ms 99.9th
zhaobsh002:
100000 records sent, 31746.031746 records/sec (31.00 MB/sec), 603.69 ms avg latency, 1039.00 ms max latency, 602 ms 50th, 950 ms 95th, 1028 ms 99th, 1038 ms 99.9th.

# 注意两个队列的特点:
Topic: zhaobsh01        TopicId: si9qBBcyQpKyTFkTURj_uQ PartitionCount: 3       ReplicationFactor: 3    Configs: segment.bytes=1073741824
        Topic: zhaobsh01        Partition: 0    Leader: 2       Replicas: 2,3,4 Isr: 2,3,4
        Topic: zhaobsh01        Partition: 1    Leader: 3       Replicas: 3,4,5 Isr: 3,4,5
        Topic: zhaobsh01        Partition: 2    Leader: 4       Replicas: 4,5,1 Isr: 4,5,1
Topic: zhaobsh02        TopicId: Iok1GhBgTKywxNxo0kh5PA PartitionCount: 5       ReplicationFactor: 2    Configs: segment.bytes=1073741824
        Topic: zhaobsh02        Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1,2
        Topic: zhaobsh02        Partition: 1    Leader: 2       Replicas: 2,3   Isr: 2,3
        Topic: zhaobsh02        Partition: 2    Leader: 3       Replicas: 3,4   Isr: 3,4
        Topic: zhaobsh02        Partition: 3    Leader: 4       Replicas: 4,5   Isr: 4,5
        Topic: zhaobsh02        Partition: 4    Leader: 5       Replicas: 5,1   Isr: 5,1

测试脚本部分之二 消费者

bin/kafka-consumer-perf-test.sh  --fetch-size 10000 --messages 1000000   --topic zhaobsh01 --consumer.config config/sasl.conf  --bootstrap-server 10.110.139.181:9093 --print-metrics
# 注意脚本也比较简单.可以直接使用

zhaobsh001: 
data.consumed.in.MB:   195.3125 
MB.sec:                10.9683 
data.consumed.in.nMsg: 200002
nMsg.sec               11231.6505 
rebalance.time.ms:     3451 
fetch.time.ms          14356
fetch.MB.sec           13.6049
fetch.nMsg.sec         13931.5965

zhaobsh002:
data.consumed.in.MB:   97.6563,
MB.sec:                5.9423, 
data.consumed.in.nMsg: 100000,
nMsg.sec               6084.9458,
rebalance.time.ms:     3525, 
fetch.time.ms          12909,
fetch.MB.sec           7.5650,
fetch.nMsg.sec         7746.5334

kafka-map 的简单使用

1. 下载:
https://github.com/dushixiang/kafka-map

2. 修改yaml文件
default:
  # 初始化安装时的账号
  username: admin
  # 初始化安装时的密码
  password: xxxx

3. 启动服务
nohup /jdk-17.0.2/bin/java -jar kafka-map.jar  &
注意 java必须用高版本

4. 打开浏览器访问:
http://ip:8080
# 修改修改默认端口

界面化

以上是关于kafka的学习之二_kafka的压测与GUI管理的主要内容,如果未能解决你的问题,请参考以下文章

jmeter非GUI(cmd命令行)模式的压测和输出测试报告

GUI学习之二十七——布局管理学习总结

jmeter 多机负载压测与服务器性能监测

使用jmeter进行简单的压测

jmeter在服务器上的压测命令

spark学习之Lambda架构日志分析流水线