arm平台kafka性能测试
部署方式
主机名
kafka版本
IP
vcapp250
2.3.1
172.32.150.250
vcapp251
2.3.1
172.32.150.251
vcapp252
2.3.1
172.32.150.252
生产者测试
分区数
测试过程
新建一个拥有3个分区、1个副本的主题;
新建一个拥有6个分区、1个副本的主题;
新建一个拥有15个分区、1个副本的主题;
新建一个拥有24个分区、1个副本的主题;
新建一个拥有30个分区、1个副本的主题;
向拥有3个分区、1个副本的主题中发送相同数量的消息记录,查看性能变化;
向拥有6个分区、1个副本的主题中发送相同数量的消息记录,查看性能变化;
向拥有15个分区、1个副本的主题中发送相同数量的消息记录,查看性能变化;
向拥有24个分区、1个副本的主题中发送相同数量的消息记录,查看性能变化;
向拥有30个分区、1个副本的主题中发送相同数量的消息记录,查看性能变化。
测试命令
#创建topic
#根据测试条件更改参数--partitions
./bin/kafka-topics.sh \
--create \
--zookeeper 172.32.150.250:2181 172.32.150.251:2181 172.32.150.252:2181 \
--topic testproducer \
--partitions XX \
--replication-factor 1
#创建生产者
#消息长度1024
./bin/kafka-producer-perf-test.sh \
--num-records 5000000 \
--topic testproducer \
--record-size 1024 \
--throughput -1 \
--producer-props bootstrap.servers=172.32.150.250:9092,172.32.150.251:9092,172.32.150.252:9092 acks=-1
#消息长度2048
./bin/kafka-producer-perf-test.sh \
--num-records 5000000 \
--topic testproducer \
--record-size 2048 \
--throughput -1 \
--producer-props bootstrap.servers=172.32.150.250:9092,172.32.150.251:9092,172.32.150.252:9092 acks=-1
#删除topic
./bin/kafka-topics.sh \
--delete \
--zookeeper 172.32.150.250:2181 172.32.150.251:2181 172.32.150.252:2181 \
--topic testproducer
测试结果
kafka节点数
分区数
副本数
消息大小
每秒发送信息(records/sec)
数据量(MB/sec)
3
3
1
1024
119402.985075
116.60
3
6
1
1024
145492.638073
142.08
3
15
1
1024
154282.893113
150.67
3
24
1
1024
150679.564837
147.15
3
30
1
1024
151781.919738
148.22
kafka节点数
分区数
副本数
消息大小
每秒发送信息(records/sec)
数据量(MB/sec)
3
3
1
2048
56215.146609
109.80
3
6
1
2048
70209.927684
137.13
3
15
1
2048
78094.494338
152.53
3
24
1
2048
71077.246752
138.82
3
30
1
2048
76645.972254
149.70
测试结论
当partition个数为broker数的5倍左右时性能较好。
副本数
测试过程
新建一个拥有15个分区、1个副本的主题;
新建一个拥有15个分区、2个副本的主题;
新建一个拥有15个分区、3个副本的主题;
测试命令
参考之前分区数测试相关命令。
测试结果
kafka节点数
分区数
副本数
消息大小
每秒发送信息(records/sec)
数据量(MB/sec)
3
15
1
1024
78094.494338
152.53
3
15
2
1024
48058.439062
46.93
3
15
3
1024
36459.358753
35.60
测试结论
当副本数为1时性能最佳,增加副本后性能下降明显。