矛盾する検証
NetApp StorageGRID で、 Conluent Platform 6.2 の階層型ストレージを使用して検証を実施しました。ネットアップと流暢なチームがこの検証に協力し、検証に必要なテストケースを実施しました。
競合するプラットフォームの設定
検証には次のセットアップを使用しました。
検証には、 3 台の zookeepers 、 5 台のブローカー、 5 台のテストスクリプトを実行するサーバ、 256GB の RAM を搭載した tools サーバ、 16 個の CPU を使用しました。ネットアップストレージの場合は、 4 つの SGF6024 を搭載した SG1000 ロードバランサで StorageGRID を使用しました。ストレージとブローカーは、 100GbE 接続経由で接続されています。
次の図に、流暢な検証に使用される設定のネットワークトポロジを示します。
ツールサーバは、要求をノードに送信するアプリケーションクライアントとして機能します。
競合する階層型ストレージ構成
階層化ストレージの構成には、 Kafka に次のパラメータが必要です。
Confluent.tier.archiver.num.threads=16 confluent.tier.fetcher.num.threads=32 confluent.tier.enable=true confluent.tier.feature=true confluent.tier.backend=S3 confluent.tier.s3.bucket=kafkasgdbucket1-2 confluent.tier.s3.region=us-west-2 confluent.tier.s3.cred.file.path=/data/kafka/.ssh/credentials confluent.tier.s3.aws.endpoint.override=http://kafkasgd.rtpppe.netapp.com:10444/ confluent.tier.s3.force.path.style.access=true
検証 StorageGRID には HTTP プロトコルを使用しましたが、 HTTPS も使用できます。アクセスキーとシークレットキーは、「 confliclus.tir.s3.cred.file.path 」パラメータで指定したファイル名に格納されます。
ネットアップオブジェクトストレージ - StorageGRID
単一サイト構成を StorageGRID で検証用に設定しました。
検証テスト
以下の 5 つの検証ケースを完了しました。これらのテストは、 Trogdor フレームワークで実行されます。最初の 2 つは機能テストで、残りの 3 つはパフォーマンステストです。
オブジェクトストアの正確性テスト
このテストでは、階層化ストレージのニーズに応じて、オブジェクトストア API のすべての基本的な処理( GET / PUT / DELETE など)が適切に機能するかどうかを確認します。これは、すべてのオブジェクトストアサービスが次のテストよりも先に実施されることを想定した基本的なテストです。合格または不合格の自己主張的なテストです。
階層化機能の正確性テスト
このテストでは ' エンド・ツー・エンドの階層型ストレージ機能が ' 合格または不合格のアサート型テストで適切に機能するかどうかを判断しますテストでは、デフォルトで階層化が有効になっており、ホットセットサイズが大幅に縮小されたテストトピックが作成されます。新しく作成されたテストトピックへのイベントストリームが生成され、ブローカーがセグメントをオブジェクトストアにアーカイブするのを待機し、イベントストリームを消費して、消費されたストリームが生成されたストリームと一致することを検証します。イベントストリームに生成されるメッセージの数は設定可能で、テストのニーズに応じてユーザが十分な大きさのワークロードを生成できます。ホットセットのサイズを小さくすることで、消費者がアクティブなセグメントの外部でフェッチしたファイルはオブジェクトストアからのみ提供されます。これにより、オブジェクトストアの読み取りの正確性をテストできます。このテストは、オブジェクトストアフォールト挿入の有無にかかわらず実施しました。StorageGRID のいずれかのノードでサービスマネージャサービスを停止し、エンドツーエンド機能がオブジェクトストレージで機能することを検証することで、ノード障害をシミュレートしました。
ティアフェッチベンチマーク
このテストでは、階層型オブジェクトストレージの読み取りパフォーマンスを検証し、ベンチマークによって生成されたセグメントからの負荷が大きい範囲での読み取り要求のフェッチをチェックしました。このベンチマークでは、 Conluent 社は階層フェッチ要求に対応するカスタムクライアントを開発しました。
ワークロードベンチマークを消費
このテストでは、セグメントをアーカイブすることにより、オブジェクトストアへの書き込みワークロードを間接的に生成しました。コンシューマグループがセグメントを取得すると、読み取りワークロード(セグメント読み取り)がオブジェクトストレージから生成されました。このワークロードはテストスクリプトで生成されました。このテストでは、並列スレッドでのオブジェクトストレージの読み取りと書き込みのパフォーマンスをチェックしました。階層化機能の正確性テストと同様に、オブジェクトストアフォールト挿入を使用したテストと使用しなかったテストを実施しました。
保存ワークロードベンチマーク
このテストでは、トピックの保持ワークロードが多い場合のオブジェクトストアの削除パフォーマンスを確認しました。保持ワークロードは、テストトピックと並行して多数のメッセージを生成するテストスクリプトを使用して生成されました。テストトピックでは、サイズベースおよび時間ベースの強力な保持設定を使用してイベントストリームをオブジェクトストアから継続的にパージするように設定しました。その後、セグメントがアーカイブされました。その結果、ブローカーによるオブジェクトストレージの削除や、オブジェクトストアの削除処理のパフォーマンス収集が行われ、大量の削除が発生していました。