このトピックでは、メタデータインデックス構築効率とデータ読み取りパフォーマンスという 2 つの側面から strmvol ボリュームのパフォーマンスを評価します。ファイルの読み取り速度と書き込み速度、高同時実行シナリオにおける安定性など、主要なメトリックを取り上げ、strmvol ボリュームの選択と使用をより適切に行えるようにします。
以下のテストデータは、テスト環境で得られた理論値です。実際の値は動作環境によって異なります。
メタデータインデックス構築
strmvol ボリュームの場合、ノード上でボリュームをマウントしているポッドがない場合、ボリュームをマウントする最初のポッドがノードマウントの初期化プロセスをトリガーします。マウント中、システムは最初に関連する仮想ブロックデバイスを作成し、OSS ファイルのメタデータインデックスを構築します。このフェーズではノードリソースが消費され、ポッドは ContainerCreating 状態のままになります。
このテストでは、ノードの仕様は ecs.g8i.2xlarge、リージョンは cn-beijing です。
OSS マウントポイントにあるファイル数 | erofs (Alibaba Cloud Linux 3) | ext4 (Alibaba Cloud Linux 3 以外) | ||||
構築時間 | メモリピーク | CPU 使用率ピーク | 構築時間 | メモリピーク | CPU 使用率ピーク | |
100000 (10 万) | 4.09s | 125 MB | 113% | 6.96s | 150 MB | 116% |
1000000 (100 万) | 11.07s | 871 MB | 201% | 35.37s | 512 MB | 192% |
10000000 (1,000 万) | 130.59s | 8.7 GB | 247% | 407.00s | 2.4 GB | 253% |
データ読み取りパフォーマンステスト
異なる resourceLimit パラメーターを持つ strmvol ボリュームのデータ読み取りパフォーマンスの比較
このテストでは、ノードの仕様は ecs.g7nex.32xlarge、オペレーティングシステムは Alibaba Cloud Linux 3、リージョンは cn-beijing です。
この例では、小規模ファイル (100 KB の画像ファイル) のランダム読み取りシナリオを使用し、ダイレクトモードが有効になっています。
異なる resourceLimit 設定は、パフォーマンスの上限にのみ影響します。同時実行性が上限に達していない場合、パフォーマンスは同様です。
説明次の表の注記には、異なる resourceLimit 構成でパフォーマンスが上限に達する同時実行性が記録されています。 Alibaba Cloud Linux 3 以外のオペレーティングシステムでは、異なる resourceLimit パラメーターを持つボリュームは、64 の同時読み取り操作を実行すると読み取りパフォーマンスの上限に達します。
テストシナリオ
4 つの同時読み取り
8 つの同時読み取り
16 の同時読み取り
32 の同時読み取り
64 の同時読み取り
128 の同時読み取り
256 の同時読み取り
512 の同時読み取り
1024 の同時読み取り
パフォーマンス
11.53 MB/s
101.06 img/s
21.99 MB/s
192.62 img/s
48.01 MB/s
417.95 img/s
93.90 MB/s
817.45 img/s
180.88 MB/s
1577.12 img/s
312.82 MB/s
2727.48 img/s
513.54 MB/s
4475.20 img/s
974.47 MB/s
8491.96 img/s
1306.61 MB/s
11386.33 img/s
注記
なし
なし
なし
なし
Alibaba Cloud Linux 3 以外のシステムのパフォーマンスの上限
2C4G モードのパフォーマンスの上限
4C8G モードのパフォーマンスの上限
8C16G モードのパフォーマンスの上限
16C32G モードのパフォーマンスの上限
この例では、単一ストリームでの大規模ファイルのシーケンシャル読み取りと、小規模ファイル (100 KB の画像ファイル) のシーケンシャル読み取りを含むシナリオを使用し、ダイレクトモードは無効になっています。
リソース制限
256 の同時リクエストのシーケンシャル読み込みの MB/秒
大規模ファイルの単一ストリーム読み取りの MB/秒
2c4g
349.89 MB/s
2742.05 img/s
216
4c8g
789.52 MB/s
6187.34 img/s
342
8c16g
1446.17 MB/s
11333.37 img/s
548
16c32g
2383.38 MB/s
18678.12 img/s
926
説明プリセット値は、一般的な読み取り専用シナリオにおけるすべてのデータ操作で最適なパフォーマンスを保証します。
単一ストリームの大規模ファイル読み取りシナリオでは、8c16g モードで 2.5 ~ 2.7 GB/秒のスループットが実現します。ビジネスに特定のデータ読み取り特性がある場合は、チケットを送信してサポートをリクエストできます。
さまざまなソリューションにおけるデータ読み取りパフォーマンスの比較
このテストでは、ノードの仕様は ecs.g8i.2xlarge、オペレーティングシステムは Alibaba Cloud Linux 3、リージョンは cn-beijing です。
テストシナリオ:
ossfs にデフォルトの構成を使用します。ダイレクト読み取りが有効になっています (メモリプールはデフォルトで 1 GB に制限されています)。
strmvol のリソース制限は 2c4g と 4c8g です。
ダイレクトモードは、小規模ファイル (128 KB のテキストファイル) がランダムに読み込まれるシナリオでのみ有効になります。
テストシナリオ | 4 スレッド同時ランダム読み込みの MB/秒 | 4 スレッド同時シーケンシャル読み込みの MB/秒 | 大規模ファイルの単一ストリーム読み取りの MB/秒 |
デフォルトの構成 | 8.4 | 8.4 | 179.2 |
ダイレクト読み取りを有効にし、メモリサイズを 1 GB に設定 | 3.4 | 3.4 | 293.4 |
strmvol 2c4g | 24.9 | 40.0 | 196.8 |
strmvol 4c8g | 95.6 | 147.1 | 334.5 |