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时性能最佳,增加副本后性能下降明显。