• このエントリーをはてなブックマークに追加

AWS Lambda PythonでLambda関数実行サーバのディスクアクセス速度を簡易測定する

  • このエントリーをはてなブックマークに追加

以前の「AWS Lambda PythonでLambda関数実行サーバのネットワーク速度テストをspeedtest-cliを用いて行う」の記事でAWS Lambdaの性能測定の一貫としてネットワーク速度を測定する方法を記載しました。

今回はAWS Lambdaの性能測定のうちディスクアクセス速度について調べる方法を備忘録として記載したいと思います。

スポンサーリンク

AWS Lambda PythonでLambda関数実行サーバのディスクアクセス速度を簡易測定する

Linuxのディスクアクセス速度を測定するにはUnixBench、fio、bonnie++などのベンチマークツールを使用するのが一般的ですが、これらのベンチマークツールを使用するにはインストールやビルドが必要が必要だったり、
測定に時間がかかったりします。

そのため、yumでモジュールをインストールできず、また実行時間も5分までと指定されているAWS Lambdaで測定するにはどうしても限られた使用できるコマンドでの簡易測定になります。

ぱっと思いつくところでは書き込み速度だけですが、下記のコードのようにddコマンドを利用してディスクアクセス速度を測定することが考えられます。

AWS Lambda PythonでLambda関数実行サーバのディスクアクセス速度を簡易測定するコード

Lambda実行サーバのディスクアクセス速度を測定する際に注意するべき点はLambda実行サーバに書き込める容量が500MB程度しかないということです。
そのため、下記のコードではテストファイルの容量を512MBとしています。

import commands
import os

print('Loading function')

def _(cmd):
    return commands.getoutput(cmd)

def lambda_handler(event, context):
    print(_("dd bs=1M count=512 if=/dev/zero of=/tmp/disktest oflag=direct"))
    print(_("rm -f /tmp/disktest"))
スポンサーリンク
  • このエントリーをはてなブックマークに追加