KAFKA压测实录

这篇博客详细记录了对Kafka集群在生产及测试环境中的压力测试过程,包括创建不同分区副本的TOPIC,进行producer与consumer的压测,旨在评估Kafka与Flink处理亿级消息的能力,确保满足未来5年业务增长需求。
摘要由CSDN通过智能技术生成

1.压测方案 

1.1 压测目的 

1.2 测试范围及方法 

1.2.1 测试范围概述 

1.2.2测试方法 

2. 生产环境压测 

2.1 生产环境集群配置 

2.2 生产环境producer压测脚本 

2.2.1创建TOPIC 

2.2.1.1创建3分区3副本TOPIC prd_pressure_test_3_3partition 

2.2.1.2创建4分区3副本TOPIC prd_pressure_test_4_3partition 

2.2.1.3创建6分区3副本TOPIC prd_pressure_test_6_3partition 

2.2.1.4创建8分区3副本TOPIC prd_pressure_test_8_3partition 

2.2.2 producer压测脚本 

2.2.2.1 3分区3副本100w 2K数据写入压测 

2.2.2.2 4分区3副本100w 2K数据写入压测 

2.2.2.3 6分区3副本100w 2K数据写入压测 

2.2.2.4 8分区3副本100w 2K数据写入压测 

2.3 生产环境producer压测结果 

2.4 生产环境consumer压测脚本 

2.4.1 consumer压测脚本 

2.4.1.1 3分区3副本1线程100w 2K数据读取压测 

2.4.1.2 4分区3副本1线程100w 2K数据读取压测 

2.4.1.3 6分区3副本1线程100w 2K数据读取压测 

2.4.1.4 8分区3副本1线程100w 2K数据读取压测 

2.4.1.5 3分区3副本3线程100w 2K数据读取压测 

2.4.1.6 4分区3副本4线程100w 2K数据读取压测 

2.4.1.7 6分区3副本6线程100w 2K数据读取压测 

2.4.1.8 8分区3副本8线程100w 2K数据读取压测 

2.5 生产环境consumer压测结果 

3. 测试环境压测 

3.1 测试环境集群配置 

3.2测试环境producer压测脚本 

3.2.1 producer压测脚本 

3.2.1.1 3分区3副本100w 2K数据写入压测 

3.3测试环境producer压测结果 

3.4测试环境consumer压测脚本 

3.4.1 consumer压测脚本 

3.4.1.1 3分区3副本1线程100w 2K数据读取压测 

3.4.1.2 3分区3副本3线程100w 2K数据读取压测 

3.5测试环境consumer压测结果 


1.压测方案


1.1 压测目的

本次性能测试在测试环境和正式环境下服务器上Kafka处理MQ消息能力进行压力测试。测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据不同量级的消息处理结果,评估Kafka和Flink的处理性能是否满足项目需求,是否可以满足未来5年的业务增长速率


1.2 测试范围及方法


1.2.1 测试范围概述

测试使用Kafka自带的测试脚本,通过命令对Kafka发起写入MQ消息和Kafka消费MQ消息的请求。模拟不同数量级的消息队列的消息写入和消费场景,根据Kafka的处理结果,评估Kafka是否满足处理亿级以上的消息的能力。


1.2.2测试方法

测试目的

验证单台服务器上Kafka写入消息和消费消息的能力,根据测试结果评估当前Kafka集群模式是否满足上亿级别的消息处理能力。

测试方法

在服务器上使用Kafka自带的测试脚本,模拟1y级别的消息写入以及读取请求,查看Kafka处理不同数量级的消息数时的处理能力,包括每秒生成消息数、吞吐量、消息延迟时间。

Kafka消息写入创建的topic命名为test_kafka_throughout,Kafka消费读取的topic也是该topic;使用命令发起消费该topic的请求,针对不同的测试指标,本次我们采用固定其他值,动态变化测量值的方式来进行,具体使用脚本为kafka自带的测试脚本,分别为kafka bin目录下的kafka-producer-perf-test.sh和kafka-consumer-perf-test.sh;通过测试来查看Kafka消费不同数量级别的消息时的处理能力。

kafka-producer-perf-test.sh生产者测试参数


2.2 生产环境producer压测脚本


2.2.1创建TOPIC


2.2.1.1创建3分区3副本TOPIC prd_pressure_test_3_3partition

./kafka-topics --create --bootstrap-server bdkap01:9092,bdkap02:9092,bdkap03:9092,bdkap04:9092,bdkap05:9092,bdkap06:9092 --replication-factor 3 --partitions 3 --topic prd_pressure_test_3_3partition


2.2.1.2创建4分区3副本TOPIC prd_pressure_test_4_3partition

./kafka-topics --create --bootstrap-server bdkap01:9092,bdkap02:9092,bdkap03:9092,bdkap04:9092,bdkap05:9092,bdkap06:9092 --replication-factor 3 --partitions 4 --topic prd_pressure_test_4_3partition


2.2.1.3创建6分区3副本TOPIC prd_pressure_test_6_3partition

./kafka-topics --create --bootstrap-server bdkap01:9092,bdkap02:9092,bdkap03:9092,bdkap04:9092,bdkap05:9092,bdkap06:9092 --replication-factor 3 --partitions 6 --topic prd_pressure_test_6_3partition


2.2.1.4创建8分区3副本TOPIC prd_pressure_test_8_3partition

./kafka-topics --create --bootstrap-server bdkap01:9092,bdkap02:9092,bdkap03:9092,bdkap04:9092,bdkap05:9092,bdkap06:9092 --replication-factor 3 --partitions 8 --topic prd_pressure_test_8_3partition


2.2.2 producer压测脚本

Kafka节点数

分区数

副本数

每条消息大小

Acks

6</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值