分布式消息服务KAFKA版-测试Kafka实例TPS:测试结果

时间:2024-12-12 16:47:07

测试结果

测试场景一(实例是否开启SASL):相同的Topic(30分区、3副本、异步复制、异步落盘),实例分为开启SASL和未开启SASL,测试结果如下:

表3 测试结果

实例规格

磁盘类型

代理数量

TPS(开启SASL)

TPS(未开启SASL)

kafka.2u4g.cluster

超高I/O

3

100000

280000

kafka.4u8g.cluster

超高I/O

3

170000

496000

kafka.8u16g.cluster

超高I/O

3

200000‬

730000

kafka.12u24g.cluster

超高I/O

3

320000

790000

kafka.16u32g.cluster

超高I/O

3

360000

1000000

结论:在Topic相同的情况下,生产消息到规格相同、接入方式不同的Kafka实例,未开启SASL的实例TPS高于开启SASL的实例TPS。

测试场景二(同步/异步复制):相同的实例(超高I/O、3个代理、未开启SASL),不同复制机制的Topic,生产者进程数为3时,测试结果如下:

表4 测试结果

实例规格

是否同步落盘

副本数

分区数

TPS(同步复制)

TPS(异步复制)

kafka.2u4g.cluster

3

30

100000

280000

kafka.4u8g.cluster

3

30

230000

496000

kafka.8u16g.cluster

3

30

342000

730000

kafka.12u24g.cluster

3

30

383000

790000

kafka.16u32g.cluster

3

30

485000

1000000

结论:生产消息到同一个Kafka实例的不同Topic中,Topic除了复制机制,其他参数相同,异步复制Topic的TPS高于同步复制Topic的TPS。

测试场景三(是否同步落盘):相同的实例(超高I/O、3个代理、未开启SASL),不同落盘机制的Topic,测试结果如下:

表5 测试结果

实例规格

是否同步复制

副本数

分区数

TPS(同步落盘)

TPS(异步落盘)

kafka.2u4g.cluster

3

30

30000

280000

kafka.4u8g.cluster

3

30

32500

496000

kafka.8u16g.cluster

3

30

36100

730000

kafka.12u24g.cluster

3

30

37400

790000

kafka.16u32g.cluster

3

30

40400

1000000

结论:生产消息到同一个Kafka实例的不同Topic中,Topic除了落盘机制,其他参数相同,异步落盘Topic的TPS远远高于同步落盘Topic的TPS。

测试场景四(不同磁盘类型):相同的Topic(30分区、3副本、异步复制、异步落盘),不同磁盘类型的实例测试结果如下:

表6 测试结果

实例规格

代理数量

是否开启SASL

TPS(高I/O)

TPS(超高I/O)

kafka.2u4g.cluster

3

110000

250000

kafka.4u8g.cluster

3

135000

380000

kafka.8u16g.cluster

3

213000

480000

kafka.12u24g.cluster

3

240000

577000

kafka.16u32g.cluster

3

280000

840000

结论:在Topic相同的情况下,生产消息到规格相同、磁盘类型不同的Kafka实例,超高I/O的实例TPS高于高I/O的实例TPS。

测试场景五(不同分区数):相同的实例(超高I/O、3个代理、未开启SASL),不同分区数的Topic测试结果如下:

表7 测试结果

实例规格

是否同步落盘

是否同步复制

副本数

TPS(3分区)

TPS(12分区)

TPS(100分区)

kafka.2u4g.cluster

3

250000

260000

250000

kafka.4u8g.cluster

3

330000

280000

260000

kafka.8u16g.cluster

3

480000

410000

340000

kafka.12u24g.cluster

3

570000

750000

520000

kafka.16u32g.cluster

3

840000

1000000

630000

结论:生产消息到同一个Kafka实例的不同Topic中,Topic除了分区数量,其他参数相同。随着分区数的增加,Kafka的性能通常会随之增加,当分区数达到一定程度后,继续增加分区数可能会导致性能下降。

support.huaweicloud.com/usermanual-kafka/kafka-ug-0068.html