Kafka性能测试

kafka是一个大数据消息队列(可以看做为缓存软件)

功能测试:能够读写数据

性能测试:1、测试生产者每秒往kafka写入的最大吞吐量 2、测试消费者每秒从kafka里获取消息最大吞吐量

硬件

3台物理机组成的kafka集群。

内存121G、249G、121G

CPU都是超线程后40核

系统centos7.9

SAS硬盘 500g


看情况加

--command-config /usr/local/service/kafka/config/kafka-client-properties.conf

我是开了kerbers认证的

kafka-client-properties.conf文件内容如下

security.protocol=SASL_PLAINTEXT

sasl.mechanism=GSSAPI

sasl.kerberos.service.name=hadoop

测试1、功能测试,创建一个topic能够往里面写

#创建topic

bin/kafka-topics.sh --bootstrap-server ${brokerIP}:9092 --create --topic test_topic_001 --partitions 5 --replication-factor 2 --command-config /usr/local/service/kafka/config/kafka-client-properties.conf

生产数据到kafka

bin/kafka-console-producer.sh --topic test_topic_001 --bootstrap-server ${brokerIP}:9092 --producer.config /usr/local/service/kafka/config/kafka-client-properties.conf

bin/kafka-console-consumer.sh --topic test_topic_001 --from-beginning --bootstrap-server ${brokerIP}:9092 --consumer.config /usr/local/service/kafka/config/kafka-client-properties.conf

消费者获取kafka数据

功能测试结束


测试2 ,生产者性能测试

先学习下参数

./kafka-producer-perf-test.sh

--topic 指定topic

--num-records 指定生产数据量

--throughput 指定吞吐量 -1为不限定吞吐量

--record-size record数据大小(单位字节数)

--producer-props key=value 指定producer配置

10个分区,3个副本(副本会影响Io和网络延迟,但是模拟实际环境)每条300字节数据,5000万条数据量。

新建topic

/usr/local/service/kafka/bin/kafka-topics.sh --create --topic kindom_test --partitions 10 --replication-factor 3 --bootstrap-server xxx1:9092,xxx2:9092,xxx3:9092 --command-config /usr/local/service/kafka/config/kafka-client-properties.conf

生产数据

bin/kafka-producer-perf-test.sh --topic kindom_test --num-records 50000000 --throughput -1 --record-size 300 --producer-props bootstrap.servers=xxx1:9092,xxx2:9092,xxx3:9092 acks=1 --producer.config /usr/local/service/kafka/config/kafka-client-properties.conf

50000000 records sent, 645103.022953 records/sec (184.57 MB/sec), 149.40 ms avg latency, 969.00 ms max latency, 5 ms 50th, 607 ms 95th, 750 ms 99th, 853 ms 99.9th.

Kafka写入吞吐量

约64万条/秒

平均速率184MB/秒

测试3,消费者性能测试

学习下参数

--broker-list:kafka-broker列表

--topic:指定topic

--fetch-size:指定每次fetch的数据大小(字节数)

--messages:总共要消费的消息数

--threads:线程数

单线程测试,消费5000万数据

bin/kafka-consumer-perf-test.sh --topic kindom_test --threads 1 --messages 50000000 --broker-list xxx1:9092,xxx2:9092,xxx3:9092 --consumer.config /usr/local/service/kafka/config/kafka-client-properties.conf

start.time, end.time, data.consumed.in.MB, MB.sec , data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec

2025-01-08 17:08:31:958, 2025-01-08 17:09:03:884, 14305.1147, 448.0710 , 50000000, 1566121.6563, 441, 31485, 454.3470, 1588057.8053

消费吞吐量 448mb/s

每秒消费156万条

学习下参数

data.consumed.in.MB:总消费大小(MB)

MB.sec:平均每秒消费(MB/s)

data.consumed.in.nMsg:总消费条数(条)

nMsg.sec:平均每秒消费(条)

rebalance.time.ms:再平衡时间(ms)

fetch.time.ms:fetch平均时间(ms)

fetch.MB.sec:fatch平均大小(MB/s)

fetch.nMsg.sec:fatch平均条数(条)


参考:

性能工具之 Kafka 快速 BenchMark 测试示例_kafka测试工具-CSDN博客

相关推荐
zpf_叶绿体学编程3 小时前
Kafka-go语言一命速通
分布式·kafka
java1234_小锋4 小时前
什么是Kafka?有什么主要用途?
分布式·kafka
言之。7 小时前
【微服务】8、分布式事务 ( XA 和 AT )
分布式·微服务·架构
PzZzang29 小时前
filebeat、kafka
分布式·kafka
Lin_Miao_099 小时前
Kafka优势剖析-高效的数据复制
分布式·kafka
Lin_Miao_099 小时前
Kafka优势剖析-幂等性和事务
分布式·kafka
码至终章9 小时前
SpringBoot日常:集成Kafka
java·spring boot·后端·kafka
QYR_1111 小时前
分布式光纤传感器行业:市场潜力巨大,技术革新引领未来
分布式
明达技术11 小时前
分布式IO模块:激光切割机产线高效控制的创新引擎
分布式
孙尚香蕉14 小时前
基于伪分布式模式部署Hadoop集群
hadoop·分布式