[VMware Cloud on AWS] 仮想マシンからEFSへの転送速度を計測してみた

VMware Cloud on AWS上の仮想マシンからEFSへのファイル転送速度を計測してみました。

こんにちは、AWS事業本部の荒平(@0Air)です。

先日、VMware Cloud on AWSからフルマネージド型ファイルシステムであるEFSとの接続を試してみた、というブログを執筆しました。

VMC上の仮想マシンはEFSに接続する際どのくらいの転送速度を出せるのかが気になったので、シェルスクリプトを作成して計測してみました。

前提・免責事項

  • あくまで検証環境での測定であり、実際の環境における性能を保証するものではありません。
  • 自作スクリプトによる計測のため、参考値としてお考えください。

計測結果

今回の検証における計測結果です。

比較対象は「EC2→EFS」「ENI経由のVMware Cloud on AWS仮想マシン→EFS」「VTGW経由のVMware Cloud on AWS仮想マシン→EFS」としました。
また、当初はEC2のt3.microにて検証を行いましたが、帯域制限を受けている可能性を考慮し、追加でc6i.largeおよびc6in.largeでの検証を追加しました。

結果的に、速度は「EC2(C6i)」>=「VTGW経由のVMware Cloud on AWS仮想マシン」>=「ENI経由のVMware Cloud on AWS仮想マシン」>「EC2(T3)」となり、ほぼ均衡した形となりました。

もう少し目に見える形でEC2が勝ると想像していましたが、実際は有意差はほぼ無いと言って良いと思います。VMware Cloud on AWSはかなりネットワークが高速という印象を受けました。

項目 EC2 (t3.micro) EC2 (c6i.large) EC2 (c6in.large) VMC via ENI VMC via VTGW
ファイルコピー合計時間 (秒) 6.0991977 2.6286535 2.6158728 2.784156 2.747675
1ファイルあたりの平均 (秒) 0.3049599 0.1314327 0.13079364 0.139208 0.137384
1ファイルあたりの最大コピー時間 (秒) 0.421974 0.377761 0.375294 0.151006 0.153086
1ファイルあたりの最小コピー時間 (秒) 0.0424042 0.0256156 0.0253287 0.134454 0.131207
ファイルコピー速度 (MB/s) 163.96 380.42 382.28 359.18 363.94

ここで注目なのは、VMware Cloud on AWS 仮想マシンのデータは、EC2に比べかなり転送速度のバラツキが少なく安定していました。

計測方法

以下のシェルスクリプトを各マシン上で実行しました。
50MiBのファイルを20個生成し、それをEFSに転送するまでの時間を計測しています。

#!/bin/bash

# 現在のディレクトリに50MBのダミーファイルを20個作成します。
for i in $(seq 1 20)
do
    dd if=/dev/zero of=file${i}.txt bs=1M count=50
done

# ファイル転送の開始時間を記録します。
start_time=$(date +%s)

# ファイルをEFSに転送します。
for i in $(seq 1 20)
do
    mv file${i}.txt /mnt/efs/
done

# ファイル転送の終了時間を記録します。
end_time=$(date +%s)

# 転送速度を計算します。
transfer_time=$((end_time-start_time))
total_size=1000
speed=$(echo "$total_size / $transfer_time" | bc -l)

echo "Transfer speed: $speed MB/s"

上記コードを各3回実行し、それぞれファイルコピー合計時間が一番短いデータを採用しました。

環境情報

  • VMware Cloud on AWS 仮想マシン
    • Ubuntu 20.04, 2 vCPU, 4GB RAM
      ・ENI経由はVMware Cloud on AWSに接続したVPC内で計測
      ・VTGW経由はVMware Cloud on AWSに外部VPCとして接続した上で計測
  • EC2
    • Ubuntu 20.04, t3.micro, 2Core, 1GB RAM, 最大5Gbps
    • Ubuntu 20.04, c6i.large, 2Core, 4GB RAM, 最大12.5Gbps
    • Ubuntu 20.04, c6in.large, 2Core, 4GB RAM, 最大25Gbps

おわりに

今回は、Amazon Elastic File System(EFS)との接続パフォーマンスを計測してみました。
なによりもEC2とほぼ遜色のないパフォーマンスでファイルシステムが扱えるため、検証しながら正直驚いていました。

データのマイグレーションを設計する際に、VMware Cloud on AWS上の仮想マシンからEFSを接続することも問題なく織り込めそうだと感じました。

※ 環境により差があるため、詳細な計測が必要な場合は、まずPoCで試されることをお勧めします。

このエントリが誰かの助けになれば幸いです。
それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!