カフカのストレステスト

 

ディレクトリ

1 、および環境試験の目的の 1

2 、試験範囲と方法 2

2.1 試験の範囲は、説明 2

2.2 、設計性能テストシナリオ 2

2.2.1 カフカメッセージプロデューサストレステスト 2

2.2.2はカフカが住んでいた消費者向けニュースのストレステスト 2を

2.3 試験方法の簡単な説明 2

2.3.1 試験の目的 2

2.3.2 試験方法 2

3 、試験結果 4

3.1 試験結果があることを示す 4

3.2 試験結果 4

3.2.1 書き込みMQのメッセージ 4

3.2.2 消費者のMQ メッセージング 5

4 、(書き込みから)分析の結果 6

5 、と環境を最適化する 7

 

 

1 、および環境試験の目的

ためカフカのに基づいて、ストレステストのメッセージ処理性能の生産者と消費者10W 50W 100W 500Wは、メッセージ処理レベルの結果、評価分析カフカかパフォーマンス指標のを。

103.249.52.4:10027

ハードウェア:いくつかのコア数 G 動作環境ウィンドウ

 

2 、試験範囲と方法

2.1 テスト範囲説明

コマンドによってカフカ処理結果に応じて評価ニュースメッセージの生産と消費を開始カフカはニーズ処理プロジェクトを満たしています。

2.2 、パフォーマンステストシナリオの設計

2.2.1はカフカが住んでいたプロデューサーストレステストのニュースを

テストシナリオ

消息数

秒あたりのメッセージ数を書きます

各レコードサイズ

 

カフカのメッセージ筆記試験

10W

2000 Tiao

1000年

50W

5000 Tiao

1000年

100W

5000 Tiao

1000年

500W

5000 Tiao

1000年

2.2.2はカフカが住んでいた消費者ニュースのストレステストを

テストシナリオ

メッセージの消費者の数

 

カフカのニュース消費テスト

10W

50W

100W

500W

2.3 試験方法の簡単な説明

2.3.1 テストの目的

確認しカフカのメッセージメッセージを生成し、消費する能力を。

2.3.2 試験方法

サーバー上で使用カフカシミュレート、独自のテストスクリプト10W 50W 100W 500W の書き込み要求メッセージ、ビューのカフカのメッセージの段階の異なる数、生産を含む第2のメッセージ、スループット、メッセージを処理するための処理能力を時間を遅らせます。メインビューカフカ異なる大きさのメッセージの能力をコーミング。

リットル  ストレステストコマンド

テストシナリオ

圧力測定メッセージ番号

 

 

メッセージを書きます

 

10W

./kafka-producer-perf-test.sh --topic test_perf --numレコード100000 --recordサイズ1000〜2000 --throughput --producer-小道具bootstrap.servers = localhostを:9092

 

50W

./kafka-producer-perf-test.sh --topic test_perf --numレコード500000 --recordサイズ2000 5000 --throughput --producer-小道具bootstrap.servers = localhostを:9092

 

100W

./kafka-producer-perf-test.sh --topic test_perf --numレコード1000000 --recordサイズ2000 --throughput 5000 --producer-小道具bootstrap.servers = localhostを:9092

 

500W

./kafka-producer-perf-test.sh --topic test_perf --numレコード5000 --producer-小道具bootstrap.servers = localhostを--throughput 5000000 --recordサイズ2000:9092

 

消費者のニュース

 

10W

./kafka-consumer-perf-test.sh --zookeeperはlocalhost:2181 --topic test_perf --fetchサイズ1048576 100000 --messages --threads 1

 

50W

./kafka-consumer-perf-test.sh --zookeeperはlocalhost:2181 --topic test_perf --fetchサイズ1048576 500000 --messages --threads 1

 

100W

./kafka-consumer-perf-test.sh --zookeeperはlocalhost:2181 --topic test_perf --fetchサイズ1048576 --messages 1000000 --threads 1

 

500W

./kafka-consumer-perf-test.sh --zookeeperはlocalhost:2181 --topic test_perf --fetchサイズ1048576 --messages 5000000 --threads 1

 

3、测试结果

3.1、测试结果说明

对单机kafka服务器进行压力测试,关注kafka消息写入的延迟时间是否满足要求,验证kafka消息的处理能力

3.2、测试结果

3.2.1、写入MQ消息

测试项

生产消息总数(单位:W

设置单个消息大小(单位字节)

设置每秒发送信息数

实际写入的消息数(秒)

%95的消息延迟(毫秒)

写入MQ消息

10

1000

2000

 

 

50

1000

5000

 

 

100

1000

5000

 

 

500

1000

5000

 

 

 

压力测试结果截图

1、写入10W消息压测

 

2、写入50W消息压测

 

3、写入100W消息压测

 

4、写入500W消息压测

 

l kafka-producer-perf-test.sh 脚本命令的参数解析

(以100w写入消息为例)

--topic topic

主题,本例为test_perf

--num-records

总共发送的消息数,本例为1000000

--record-size

每个记录的字节数,本例为1000

--throughput

每秒发送的记录数,本例为5000

--producer-props bootstrap.servers=localhost:9092   kafka服务

MQ消息写入测试结果解析:

本例中写入100wMQ消息为例,每秒平均向kafka写入了4.77MB的数据,大概是4999.875条消息/秒,每次写入的平均延迟为1毫秒,最大的延迟为647毫秒,1ms内占99%

3.2.2消费MQ消息

测试项

消费消息总数(单位:W

共消费数据(单位:M

每秒消费数据(单位:M

每秒消费的消息数

消费所消耗的时间(秒)

消费MQ消息

10

 

 

 

 

50

 

 

 

 

100

 

 

 

 

500

 

 

 

 

压力测试结果截图

1、消耗10W消息压测

 

2、消耗50W消息压测

 

3、消耗100W消息压测

 

4、消耗500W消息压测

 

l kafka-consumer-perf-test.sh 脚本命令的参数为:

(以100w写入消息为例):

--zookeeper

指定zookeeper的链接信息,本例为localhost:2181

--topic

主题,本例为test_perf,即4.2.1中写入的消息

--fetch-size

指定每次取的数据的大小,本例为1048576,也就是1M

--messages

总共要消费的消息个数,本例为1000000100w

以本例中消费100wMQ消息为例总共消费了953.66M的数据,每秒消费数据大小为177.19M,总共消费了10000004条消息,每秒消费185804.53条消息。

 

4、结果分析(自写)

根据4.2.测试结果,可以看出在单台服务器上,写入MQ消息设置5000/秒时,消息写入及时,95%的消息延迟时间小于等于1ms,在可接受范围内;Kafka消费MQ消息时,1000W待处理消息的处理能力在每秒20w条以上,处理结果理想。

   根据Kafka处理10w100w1000w级的消息时的处理能力,可以评估出Kafka集群服务,是否有能力处理上亿级别的消息。

本次测试是在正式环境集群服务中的单台服务器上进行,基本不需要考虑网络带宽的影响。所以单台服务器的测试结果,对评估集群服务是否满足上线后实际应用的需求,很有参考价值。

 

5、环境配合优化

おすすめ

転載: www.cnblogs.com/charon2/p/11349850.html