文档中心>消息队列 CKafka 版>通用参考>对 CKafka 进行生产和消费压力测试

对 CKafka 进行生产和消费压力测试

最近更新时间:2024-10-11 11:22:50

我的收藏

测试工具

Kafka Producer 和 Consumer 的性能测试均可使用 Kafka 客户端自带的开源脚本,主要输出每秒发送消息量(MB/second)和每秒发送消息数(records/second)两项指标。
Kafka Producer 测试脚本:$KAFKA_HOME/bin/kafka-producer-perf-test.sh
Kafka Consumer 测试脚本:$KAFKA_HOME/bin/kafka-consumer-perf-test.sh

测试命令

说明
以下命令中的 ckafka vip:vport 应替换为您实际实例分配的 IP 和端口。
生产测试命令示例:
bin/kafka-producer-perf-test.sh
--topic test
--num-records 123
--record-size 1000
--producer-props bootstrap.servers= ckafka vip : port
--throughput 20000
消费测试命令示例:
bin/kafka-consumer-perf-test.sh
--topic test
--new-consumer
--fetch-size 10000
--messages 1000
--broker-list bootstrap.servers=ckafka vip : port

测试建议

为了提高吞吐量,建议创建分区时数量 ≥ 3 (因后端 CKafka 集群节点数量最少是3,如只创建1个分区则分区会分布在一个 Broker 上面,影响性能)。
由于 CKafka 是分区级别消息有序的,因此过多的分区也会影响生产性能,根据实际压测,建议分区数不超过6。
为了保证压力测试的效果,需要多客户端模拟一定的并发,建议采用多台机器作为压测客户端(生产端),每台启动多个压测程序,提高并发。此外建议每1s启动一个生产者,避免同时启动所有生产者导致测试机器高负载。