EFS のスループット/バーストのメトリクス確認方法

AWS,CloudWatch,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)

出典: Amazon EFS でのメトリックス計算の使用

スループット利用率の確認方法

  • 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% に近くなっておりました。

 

 

参考資料

AWS,CloudWatch,EFS

Posted by takaaki