51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

kafka集群压力测试

1.什么叫压力测试

在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

简单来说,所谓压力测试就是对一个集群的处理能力的上限做一个评估。为将来集群扩容提供有效的依据。

2.为什么要进行压力测试

(1)压力测试可以了解当前集群的处理能力上限;
(2)当修改集群的配置参数后,压力测试可以协助运维人员去参考本次调优的效果;
(3)压力测试的结果以后可以作为参考扩容集群的有效依据;

kafka集群压力测试

install -d /tmp/kafka-test/

cat > baimei-kafka-test.sh <<'EOF'
# 创建topic
kafka-topics.sh --bootstrap-server 10.0.0.111:9092,10.0.0.112:9092 --topic baimei-kafka-2023 --replication-factor 1 --partitions 10 --create

# 启动消费者消费数据
nohup kafka-consumer-perf-test.sh --broker-list 10.0.0.111:9092,10.0.0.112:9092 --topic  baimei-kafka-2023 --messages 100000000 &>/tmp/kafka-test/baimei-kafka-consumer.log &

# 启动生产者写入数据
nohup kafka-producer-perf-test.sh --num-records 100000000 --record-size 1000 --topic  baimei-kafka-2023 --throughput 1000000 --producer-props bootstrap.servers=10.0.0.111:9092,10.0.0.112:9092 &> /tmp/kafka-test/baimei-kafka-producer.log &
EOF

bash baimei-kafka-test.sh 

参数说明:
kafka-consumer-perf-test.sh 
	---messages:
    	指定消费消息的数量。
	--broker-list:
    	指定broker列表。
    --topic:
    	指定topic主体。
    	
kafka-producer-perf-test.sh 
    -num-records
        生产消息的数量。
    --record-size:
        每条消息的大小,单位是字节。
    --topic:
    	指定topic主体。
	--throughput 
		设置每秒发送的消息数量,即指定最大消息的吞吐量,若设置为-1代表不限制!
	--producer-props bootstrap.servers
		指定broker列表。

温馨提示:
本案例测试大约会生成93GB( echo "100000000 * 1000/1124/1124/1124" | bc)的数据,如果硬盘资源不足的小伙伴可以暂时不用测试了,或者该小上面提到的参数。

赞(6)
未经允许不得转载:工具盒子 » kafka集群压力测试