見出し画像

ディスクI/Oの大きなワークロードにおすすめのEC2インスタンスタイプの紹介


はじめに

こんにちは、G2です。
ナビタイムジャパンで描画地図データの運用とその改善を担当しています。
今回はディスクI/Oの大きなワークロードにおすすめのEC2インスタンスタイプを紹介します。

今回性能比較に使うワークロードについて

性能比較を行うワークロードについて下記の処理を実行しています。
今回比較を行うワークロードはコンバート前のデータが191GB、コンバート後のデータが1.7GBのサイズ感のワークロードです。

  1. S3からコンバート対象のデータを取得(圧縮ファイルの展開処理も合わせて実施)

  2. データのコンバート(java製のコンバートプログラムの実行)

  3. 作成した成果物をS3にアップロード

C6idインスタンスについて

C6idインスタンスの特徴としては、C6iにNVMe ベースのソリッドステートドライブ (SSD) ブロックレベルストレージを搭載し、ストレージI/Oの激しいワークロードに適しているインスタンスタイプです。

実際に動かして比較してみた結果

今回は下記の条件で比較をしてみました。

  • 注記データのコンバートのワークロード

  • C6i.2xlargeとC6id.2xlargeそれぞれで実行して比較

    • C6i.2xlargeのEBSは250GB gp3としています。

  • 数値はzabbixで取得

c6i.2xlargeのメトリクス
C6id.2xlargeのメトリクス
  • (CPU utilization)C6iとC6idのグラフを比べるとC6iのiowait(黄色の部分)がC6idと比べて大きいこと(ストレージのI/Oに時間がかかっている事)が分かります。

  • (Disk I/O)C6iの方はread,wite合計で500Kspsあたりがピーク、C6idの方はread,witeそれぞれ600Kspsあたりがピークで(利用方法によってはC6idの方が2倍以上I/O性能が良い場合が)あるように読み取れます。

実行時間とコストパフォーマンス

実行時間とコストパフォーマンス

C6iインスタンスの単価は安いが、C6idインスタンスの実行時間がC6iと比べて2/3の実行時間で実行できたため、実行時間でも1回あたりのコスト面でもC6idインスタンスにメリットがある結果となりました。

まとめ

ストレージのI/Oの激しいワークロードの場合は、今回のようにc6iよりc6idの方がコスト的にも実行時間的にもメリットがある場合があります。
時間のかかる重いワークロードを実行しているのであれば、インスタンスタイプを見直すことで改善ができるかもしれません。