kafka生产工具
首先先创建一个测试的topic,32个分区,一个副本。
kafka-topics.sh --command-config /opt/kafka/config/sasl.properties --bootstrap-server localhost:9092 --create --topic test --partitions 32 --replication-factor 1
使用./kafka-producer-perf-test.sh工具往test里插入数据。
--throughput为qps: 10万QPS
--record-size: 每条消息的大小 设置为10000,等于10KB
--num-records
throughput乘以record-size 最大吞吐1000MB/s,实际服务器硬盘最高200~300MB/s,配置1GB/s只是为了压测硬件io上限。默认测试为10KB * 10,000,000=100GB压测数据量
./kafka-producer-perf-test.sh --producer-props bootstrap.servers=localhost:9092 --producer.config /opt/kafka/config/sasl.properties
--throughput 100000 --record-size 10000 --num-records 10000000 --topic test
可以看到kafka可以达到250M/s的写入。
通过io命令观察磁盘写入情况
iotop
iostat -x -d 1
Kafka消费工具
使用./kafka-consumer-perf-test.sh消费工具测试消费这么多数据要多长时间
./kafka-consumer-perf-test.sh --broker-list localhost:9092 --group test --consumer.config /opt/kafka/config/sasl.properties --topic test --messages 100000