Kafka 消息发布和消费能力测试
本次测试采用 kafka 的性能测试插件 kafka-perf 进行测试。使用该插件须网上下载 kafka-perf_2.10-0.8.0.jar,将该 JAR 包上传至服务器 kafka 安装目录的 libs 文件夹内,重启 kafka 即可使用该插件。Kafka 安装目录的 bin 文件夹下,默认有 kafka-producer-perf-test.sh 和 kafka-consumer-perf-test.sh 执行脚本,发布消息使用 kafka-producer-perf-test.sh,消费消息使用 kafka-consumer-perf-test.sh。

根据测试结果,影响 kafka 处理能力的是消息的大小。按照目前 kafka 的配置及服务器的硬件配置(24C、16G、542G),
根据架构组要求,测试消息为 1k 时,生产消息 TPS 是:179935.4records/sec,消费消息 TPS 是:537468.56records/sec,且随消息大小增加,逐级递减,详细结果见下表:

操作类型 topic partition 数量 消息大小 数据量 TPS(消息数量) TPS(消息大小)
生产消息 message_test1 8 1k 2 千万 179935.4 records/sec 171.60 MB/sec
2k 2 千万 85201.01 records/sec 162.51 MB/sec
5k 2 百万 34276.5 records/sec 163.44 MB/sec
10k 2 百万 14820.3 records/sec 141.34 MB/sec
20k 2 百万 8419.84 records/sec 160.60 MB/sec

操作类型 topic partition 数量 消息大小 数据量 TPS(消息数量) TPS(消息大小)
消费消息 message_test2 8 1k 2 百万 537468.56 records/sec 512.57 MB/sec
2k 2 百万 154878.05 records/sec 295.4 MB/sec
5k 2 百万 17769.23 records/sec 84.73 MB/sec
10k 2 百万 9095.29 records/sec 86.73 MB/sec
20k 2 百万 3780.01 records/sec 72.09 MB/sec


↙↙↙阅读原文可查看相关链接,并与作者交流