EFS のスループット/バーストのメトリクス確認方法
概要
スループットモードについて
- Amazon EFS(Elastic File System)は、スケーラブルでバースト可能なスループット性能を提供します。EFSのファイルシステムで選択可能なスループットモードには、バースト(デフォルト) or プロビジョニング済み があります。
- スループットモードは後から切り替え可能です。また、プロビジョニングされたスループットモードでスループットを減らすことができます。ただし、前回変更した時点から 24 時間経過している必要があります。
バーストスループットモード
- バーストスループットモードは、保存されたデータ量に応じてスループットが高くなる。現在のスループットがベースラインより低い場合にバーストクレジットが蓄積され、スループットがベースラインより高い場合にバーストクレジットが消費される。
- いずれのサイズにおいても、100 MiB/s のスループットまでバーストすることができる。なお、読み取りリクエストのスループットは書き込みリクエストの 3 分の 1で計測される。
- バーストできる期間は、ファイルシステムのサイズに応じて決定される。
- 例1) 10GiB のサイズは、ベースラインスループット(読み取り)が 1.5 MiB/s, ベースラインスループット(書き込み)が 0.5 MiB/s, バーストスループット(読み取り)が 300MB/s, バーストスループット(書き込み)が 100MB/s, 最大バースト期間が 7.2 Min/day となる。
- 例2) 100GiB のサイズは、ベースラインスループット(読み取り)が 15 MiB/s, ベースラインスループット(書き込み)が 5 MiB/s, バーストスループット(読み取り)が 300MB/s, バーストスループット(書き込み)が 100MB/s, 最大バースト期間が 72 Min/day となる。
ファイルシステムのサイズ (GiB) | ベースライン計測スループット(MiB/秒) | バースト計測スループット (MiB/秒) | 最大バースト期間 (最小/1 日) | ファイル・システムがバーストできる時間の割合(日あたり) |
---|---|---|---|---|
10 | 0.5* | 100 | 7.2 | 0.5% |
256 | 12.5 | 100 | 180 | 12.5% |
512 | 25.0 | 100 | 360 | 25.0% |
1024 | 50.0 | 100 | 720 | 50.0% |
1536 | 75.0 | 150 | 720 | 50.0% |
2048 | 100.0 | 200 | 720 | 50.0% |
3072 | 150.0 | 300 | 720 | 50.0% |
4096 | 200.0 | 400 | 720 | 50.0% |
(出典: Amazon Elastic File Systemユーザーガイド)
プロビジョニングされたスループットモード
- プロビジョニングされたスループットモードでは、保存されたデータ量とは独立して、バーストではない一貫したスループット (MiB/秒) を提供する。いつでもスループットを増加(1-1024 MiB/s)できる。スループットの減少は 24 時間に 1 回のみ。
- プロビジョニングされたスループットの使用には追加料金が必要。少量のデータに対して、高いスループットが求められるワークロードでメリットあり。
メトリクスでバーストクレジットの数を確認する
BurstCreditBalance メトリクス
- EFS のファイルシステムをバーストスループットモードで使用している場合、BurstCreditBalance メトリクスによって、バーストクレジットの数が確認可能です。
- メトリクスの説明は、こちらを参照。
バーストクレジットのメトリクス確認方法
-
EFS ファイルシステムのバーストを検証します。先ず、EFS ファイルシステムのスループットモードをバーストに設定します。
-
Linux からEFS ファイルシステムのmount を行います。EFS に対して、dd コマンドで1GB のファイルを数回書き込みました。転送速度は、119MB/s になります。
sudo dd if=/dev/zero of=/efs1/testfile1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 8.99675 s, 119 MB/s
- CloudWatch にてメトリクスを確認します。TotalIOBytes メトリクスから1GB の読み書きが行われたことが分かります。
- 次に、BurstCreditBalance メトリクスを参照します。先ほどの書き込みによって、バーストクレジットが消費していたことが分かります。
メトリクスでスループット利用率を確認する
スループット利用率のメトリクス計算とスループットの見直しについて
- MeteredIOBytes、PermittedThroughput のメトリクスを使用して、スループット利用率が計算できます。スループット利用率の割合が100 に近ければ、ファイルシステムに割り当てられたスループットの全量が消費されます。
- スループット利用率の割合が100 に近い場合、より高いスループットを得るためには、ファイルシステムのスループットモードを「プロビジョニングされたスループット」に切り替えることも検討します。すでに、「プロビジョニングされたスループット」の場合は、スループットの値を変更することも検討します。(スループットの検討には、コストを考慮する必要があります)
- 以下のメトリクスを使用します。メトリクスの説明は、こちらを参照。
ID | 使用可能なメトリックまたはメトリック | 統計 | 間隔 |
---|---|---|---|
m1 | MeteredIOBytes | sum | 1 分 |
m2 | PermittedThroughput | sum | 1 分 |
- メトリクス計算式は、以下となります。今回は、CloudWatchでメトリクス計算式を作るのではなく、EFS のモニタリングから確認する方法を次に紹介します。
ID | 式 |
---|---|
e1 | (m1/1048576)/PERIOD (m1) |
e2 | m2/1048576 |
e3 | ((e1)*100)/(e2) |
スループット利用率の確認方法
- EFS ファイルシステムのスループット利用率を検証します。先ず、EFS ファイルシステムのスループットモードをプロビジョニング済みに設定します。今回のスループットは、1MiB/s としました。
- Linux からEFS ファイルシステムのmount を行います。EFS に対して、dd コマンドで1GB のファイルを数回書き込みました。転送速度は、1.0MB/s になります。
sudo dd if=/dev/zero of=/efs2/testfile1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1024.13 s, 1.0 MB/s
- CloudWatch にてメトリクスを確認します。EFS のファイルシステムを選択し、「モニタリング」→「ファイルシステムメトリクス」の「スループット利用率 (%)」→「メトリクスで表示」を選択します。
- CloudWatch にスループット利用率の計算結果が表示されるため、値を確認します。今回は、利用率が100% に近くなっておりました。