0
Help us understand the problem. What are the problem?

posted at

updated at

AWS Lambda /tmp領域が10GBまで拡張できるようになったのでディスク読書速度を測定してみた。

はじめに

いままでLambdaのエフェメラルストレージ(以下/tmp)は512MBまでだったが、2022年3月24日から10GBまで拡張できるようになった。

そこで512MBと10GBでディスクの読み書きスペックに違いがあるかを確認してみた。

結論から

/tmpサイズ増減によるディスク読書速度は変化は見られない。
Lambdaメモリを増やすとディスク読書速度は大幅に向上する。
ファイル読み書きサイズが大きい処理ならばLambdaメモリは大きくする。

計測方式

ddコマンドによる簡易的な計測
Amazon linux2からddコマンドコピーおよびzipファイルにしてLambda Layerに登録。

tmp領域のサイズによって書き込みサイズを変化させる。
 512MBの場合     448MB書き込み = bs=64K count=7k
10240MBの場合    9600MB書き込み = bs=64K count=150k

lambda_handler.py
import subprocess

def lambda_handler(event, context):
    out = subprocess.run(["df", "-h"])
    print(out)
    print("書き込み速度")
    out = subprocess.run(['dd', "if=/dev/zero","of=/tmp/benchmark", "bs=64K", "count=150k", "conv=fdatasync"])
    print(out)
    print("読み込み速度")
    out = subprocess.run(['dd', "if=/tmp/benchmark","of=/dev/null"])
    print(out)

計測結果

多少ばらつきはあるが概ねエフェラメルストレージサイズによる変化はないように見える。
10GBメモリだとSSD並に速度が出ている。

エフェメラルストレージ(MB) Lambdaメモリ(MB) 読み込み速度 書き込み速度
512 128 21.3 MB/s 74.1 MB/s
256 96.3 MB/s 150 MB/s
512 263 MB/s 226 MB/s
1024 491 MB/s 435 MB/s
10240 921 MB/s 520 MB/s
エフェメラルストレージ(MB) Lambdaメモリ(MB) 読み込み速度 書き込み速度
10240 128 31.5 MB/s 33.9 MB/s
256 31.6 MB/s 40.0 MB/s
512 32.9 MB/s 50.3 MB/s
1024 53.2 MB/s 69.1 MB/s
10240 376 MB/s 615 MB/s

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?