创建topic
创建一个topic(主题)。Kafka中所有的消息都是保存在主题中,要生产消息到Kafka,首先必须要有一个确定的主题。
cd /export/server/kafka_2.12-2.4.1 # 创建名为test的主题 bin/kafka-topics.sh --create --bootstrap-server 192.168.2.3:9092 --topic test # 查看目前Kafka中的主题 bin/kafka-topics.sh --list --bootstrap-server 192.168.2.3:9092
生产消息到Kafka
使用Kafka内置的测试程序,生产一些消息到Kafka的test主题中。
bin/kafka-console-producer.sh --broker-list 192.168.2.3:9092 --topic test
从Kafka消费消息
使用下面的命令来消费 test 主题中的消息。
bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.3:9092 --topic test --from-beginning
使用Kafka Tools操作Kafka
安装kafka tools:偏移浏览器 (kafkatool.com)
连接Kafka集群
安装Kafka Tools后启动Kafka
创建topic
Kafka基准测试
基准测试
基准测试(benchmark testing)是一种测量和评估软件性能指标的活动。我们可以通过基准测试,了解到软件、硬件的性能水平。主要测试负载的执行时间、传输速度、吞吐量、资源占用率等。
基于1个分区1个副本的基准测试
测试步骤:
- 启动Kafka集群
- 创建一个1个分区1个副本的topic: benchmark
- 同时运行生产者、消费者基准测试程序
- 观察结果
创建topic
bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 1 --replication-factor 1
生产消息基准测试
在生产环境中,推荐使用生产5000W消息,这样会性能数据会更准确些。为了方便测试,课程上演示测试500W的消息作为基准测试。
bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1
bin/kafka-producer-perf-test.sh
--topic topic的名字
--num-records 总共指定生产数据量(默认5000W)
--throughput 指定吞吐量——限流(-1不指定)
--record-size record数据大小(字节)
--producer-props bootstrap.servers=192.168.1.20:9092,192.168.1.21:9092,192.168.1.22:9092 acks=1 指定Kafka集群地址,ACK模式
测试结果:
吞吐量 | 93092.533979 records/sec |
每秒9.3W条记录 | |
吞吐速率 | (88.78 MB/sec) 每秒约89MB数据 |
平均延迟时间 | 346.62 ms avg latency |
最大延迟时间 | 1003.00 ms max latency |
消费消息基准测试
bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000
bin/kafka-consumer-perf-test.sh
--broker-list 指定kafka集群地址
--topic 指定topic的名称
--fetch-size 每次拉取的数据大小
--messages 总共要消费的消息个数
data.consumed.in.MB 共计消费的数据 | 4768.3716MB |
MB.sec 每秒消费的数量 | 445.6006 每秒445MB |
data.consumed.in.nMsg 共计消费的数量 | 5000000 |
nMsg.sec 每秒的数量 | 467246.0518 每秒46.7W条 |
基于3个分区1个副本的基准测试
被测虚拟机:
192.168.2.3 | 192.168.2.4 | 192.168.2.5 |
inter i5 8th 8G内存 | inter i5 8th 4G内存 | inter i5 8th 4G内存 |
创建topic
bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 3 --replication-factor 1
生产消息基准测试
bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1
测试结果:
指标 | 3分区1个副本 | 单分区单副本 |
吞吐量 | 68755.930199 records/sec | 93092.533979 records/sec 每秒9.3W条记录 |
吞吐速率 | 65.57 MB/sec | (88.78 MB/sec) 每秒约89MB数据 |
平均延迟时间 | 469.37 ms avg latency | 346.62 ms avg latency |
最大延迟时间 | 2274.00 ms max latency | 1003.00 ms max latency |
在虚拟机上,因为都是共享笔记本上的CPU、内存、网络,所以分区越多,反而效率越低。但如果是真实的服务器,分区多效率是会有明显提升的。
消费消息基准测试
bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000
指标 | 单分区3个副本 | 单分区单副本 |
data.consumed.in.MB 共计消费的数据 | 4768.3716MB | 4768.3716MB |
MB.sec 每秒消费的数量 | 265.8844MB | 445.6006 每秒445MB |
data.consumed.in.nMsg 共计消费的数量 | 5000000 | 5000000 |
nMsg.sec 每秒的数量 | 278800.0446 每秒27.8W | 467246.0518 每秒46.7W |
还是一样,因为虚拟机的原因,多个分区反而消费的效率也有所下降。
基于1个分区3个副本的基准测试
创建topic
bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 1 --replication-factor 3
生产消息基准测试
bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1
测试结果:
指标 | 单分区3个副本 | 单分区单副本 |
吞吐量 | 29899.477955 records/sec | 93092.533979 records/sec 每秒9.3W条记录 |
吞吐速率 | 28.51 MB/sec | (88.78 MB/sec) 每秒约89MB数据 |
平均延迟时间 | 1088.43 ms avg latency | 346.62 ms avg latency |
最大延迟时间 | 2416.00 ms max latency | 1003.00 ms max latency |
同样的配置,副本越多速度越慢。
消费消息基准测试
bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000
指标 | 单分区3个副本 | 单分区单副本 |
data.consumed.in.MB 共计消费的数据 | 4768.3716MB | 4768.3716MB |
MB.sec 每秒消费的数量 | 265.8844MB 每秒265MB | 445.6006 每秒445MB |
data.consumed.in.nMsg 共计消费的数量 | 5000000 | 5000000 |
nMsg.sec 每秒的数量 | 278800.0446 每秒27.8W | 467246.0518 每秒46.7W |
猜你喜欢
- 4天前(零碳中国·绿色投资蓝皮书)中国"零碳"差旅之路暨"绿色低碳酒店"标准研究项目成果发布会召开
- 4天前(大理悦云雅阁酒店电话)雅阁酒店集团|端午佳节礼遇,大理悦云雅阁度假酒店
- 4天前(上海文旅产业发展高峰论坛)《上海打造文旅元宇宙新赛道行动方案》发布
- 4天前(fender japan hybrid)Fender东京旗舰店盛大开幕在即,开售商品和店内服务提前揭晓
- 4天前(临沂 凯悦)临沂第一家凯悦嘉轩酒店开幕迎宾
- 4天前(夏日旅行海报)夏日旅行|精简行囊 向快乐进发
- 4天前(曼谷丽思卡尔顿公寓价格)在曼谷丽思卡尔顿酒店CALEŌ 邂逅鸡尾酒的浪漫艺术
- 4天前(上海迪士尼 夏天)酷爽夏日,奇妙相伴!来上海迪士尼度假区清凉入夏
- 4天前(“三天跨两城”催生租车新需求,神州租车清明跨城订单同比增长416%)“三天跨两城”催生租车新需求,神州租车清明跨城订单同比增长416%
- 4天前(锦江 iu)锦江荟APP原生鸿蒙版正式上线打造全场景旅行服务新体验
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章