0

AWS上に2ノードのカフカクラスタを設定し、現在そのパフォーマンス属性をテスト中です。Kafkaコンシューマディスクから読み取るキャッシュキャッシュ

私はkafka-consumer-perf-test.shを使用して、カフカのトピックから1つのスレッドを使って5千万のメッセージを読みました。

私は消費者のスループットをテストしながら次のことを観察しました。

観察1

m4.large EC2インスタンス上の単一の消費者 - 3つの別々m4.large EC2インスタンス上のスループット40.2メガバイト/秒

を読む

三消費者 - 個々のスループットを読む - 40.25メガバイト/秒である。

ませディスクは読まないか、書き込みが(2つのEBSボリュームに裏打ちされた2つの別々m4.2xlarge EC2インスタンス上で実行されている)カフカブローカー側に報告された

私はいくつかの時間後に再度ツールを実行しました。

観察2

三3つの別々m4.large EC2インスタンス上の消費者 - 34.25メガバイト/秒 - 個々のスループットが低下したに読みます。

この場合、私はKafkaブローカーノードでかなりの割合のディスク読み取りを観察しました。

私が次のことを明確にするのに役立つと感謝します。

  1. 私はディスクの読み取りを観察しなかったので、メモリからすべてのデータを取得できましたか(キャッシュされている場所)?

  2. 観測2では、ディスクの読み取りによってパフォーマンスが低下すると想定しています。ディスクから読み込んだにもかかわらず、まだ十分な空きメモリがnmonのレポートで明らかになっています。

消費者がメモリではなくディスクから読み込む理由は何でしょうか?生産者が生産したデータがキャッシュに滞留する時間はどれくらいですか?

  1. 最大40MB/sの読み取りスループットは、m4.large EC2インスタンスのネットワーク帯域幅の制限によるものとします。この仮定は正しいですか?

ありがとうございます。

答えて

0

Linuxカーネルパラメータvm.swappiness = 1を調整して、読み取りにページキャッシュを最適に使用し、ディスクI/Oを避けることを推奨します。

はまた、すべての利用可能なRAMがページキャッシュのために使用されますように、独自のVMや物理サーバー上でスタンドアロンカフカを実行することをお勧めしますhttps://en.m.wikipedia.org/wiki/Swappiness

を参照してください。

コンフルエントはAK 0.11(コンフルエント3)のAWSベースのベンチマーク結果を公開しました。3)あなたが比較

をしたい場合、ベンチマークはベンチマークの結果がここに

https://docs.google.com/spreadsheets/u/1/d/1dHY6M7qCiX-NFvsgvaE0YoVdNq26uA8608XIh_DUpI4/htmlview

あるこのブログの記事内のリンク

https://www.confluent.io/blog/we-will-say-exactly-confluent-platform-3-3-available-now/

でヒットページキャッシュを持つとせずにテストが含まれています

関連する問題