[アップデート]Amazon EFSのリードスループットがお値段据え置きで3倍になりました

Amazon EFSのリードスループットが通常の3倍になり、更にできるようになりました。
2021.01.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon EFSで読み取りの多いワークロードを実行しているひとに嬉しいアップデートが来ました。

新規・既存EFSに関係なくリードスループットが通常の3倍になりました。 設定の変更は不要で、追加料金も発生しません。

3倍のリードスループット

EFS をバーストモードで利用している場合、最大スループットは 100 MiB/s です。 このスループットをリードで専有すると、以前は最大 100 MiB/s だったのが 3倍の 300 MiB/s まで出るようになりました。

スループットが増えるとなると、バーストクレジットの枯渇が気になります。

本アップデートに伴い、バーストクレジットバランスの上限に変更はなく、代わりにリードのクレジット消費が 1/3で計算されます。 そのため、クレジットバランスのメトリクスを確認すると、満タン時の値は同じまま、減少ペースが以前よりも緩やかになります。

プロビジョニング済みモードでも同様です。 スループットを 100 MiB/s でプロビジョンしたファイルシステムトをリードで専有すると、以前は最大 100 MiB/s だったのが 3倍の 300 MiB/s まで出るようになりました。

どうやって辻褄をあわせている?

デプロイ済みファイルシステムでも、設定変更なしに3倍のリードスループットが出るようになりました。

metered throughput を導入し、AWS(サーバー)側ではリード処理を 1/3 に補正することで辻褄をあわせています。

例えば、クライアントで 3 MiB/s のオペレーションが発生したとき、サーバー(AWS)では、ライトの場合はそのまま 3 MiB/s、リードの場合は 1/3 の 1 MiB/s として計算します。

このようにすることで

  • プロビジョン済みスループット
  • バーストクレジット

のようなAWS側の値は一貫性をもたせたまま、クライアントのリードスループット性能を 3倍にしています。

ドキュメントから引用します。

Understanding metered throughput

...

Read requests and write requests are metered at different rates. EFS file systems meter read requests at one-third the rate of other requests.

この補正を忘れてスループットを試算すると、オーバープロビジョニングにつながるので、注意が必要です。

CloudWatch メトリクスへの影響

以前はメトリクス TotalIOBytes で消費する IO をモニタリングしていました。

今回のアップデートにより、実際にバーストクレジットを消費する IO は MeteredIOBytes でモニタリングできます。

  • TotalIOBytes = DataReadIOBytes + DataWriteIOBytes + MetadataIOBytes
  • MeteredIOBytes = DataReadIOBytes/3 + DataWriteIOBytes + MetadataIOBytes

という違いがあります。

まとめ

Amazon EFSが設定変更や追加料金無しに最大リードスループットが3倍になり、リードのクレジットバランスの消費が 1/3 になりました。

ウェブサービスやデータ処理など、リードヘビーなワークロードをプロビジョン済みEFSで実行している場合、プロビジョン値をより低く設定したり、より安いバーストモードでも処理できるようになる可能性があります。

サイジングを検討してみてはいかがでしょうか。

それでは。

参考