インスタンスストア初期化の2パターンのどちらが早いのか検証してみた
前回の記事 : 【AWS】EC2のインスタンスストアの初期構築 マウントして使えるようにするまでを整理する
はじめに
インスタンスストアは最初のファイルシステムへのアクセスは遅く、
一度初期化するのが推奨されています。
以前は公式は dd のみの記載だった記憶がありますが、 fioっていう記載が増えており、
社内でそっちらのほうが早いという噂を聞いたので検証してみます。
(※EBSは最近では事前ウォーミングしなくてよくなったようです)
[AWS公式 EBSボリュームの初期化] (https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-initialize.html)
dd での速度計測
$ time sudo dd if=/dev/nvme1n1 of=/dev/null bs=1M
47683+1 レコード入力
47683+1 レコード出力
50000000000 バイト (50 GB) コピーされました、 539.372 秒、 92.7 MB/秒
real 8m59.380s
user 0m0.043s
sys 0m10.189s
$
ddでの計測結果
結果:9分
50Gなんでこんなもんかな。
fioでの速度計測
続きまして、fioでの速度計測。
早いと聞いたのでどこまでか....
$ time sudo fio --filename=/dev/nvme1n1 --rw=read --bs=128k --io
depth=32 --ioengine=libaio --direct=1 --name=volume-initialize
volume-initialize: (g=0): rw=read, bs=128K-128K/128K-128K/128K-128K, ioengine=libaio, iodepth=32
fio-2.14
Starting 1 process
Jobs: 1 (f=1): [R(1)] [100.0% done] [90112KB/0KB/0KB /s] [704/0/0 iops] [eta 00m:00s]
(略)
real 8m59.883s
user 0m1.093s
sys 0m2.799s
$
fioでの計測結果
結果:約9分
( ゚д゚ ) > ... あれ? 時間一緒やった。
ためしにブロックサイズを1Mにしてみる。
貼りもしませんが、結果は変わりませんでした!
結論
ddつかってもfioつかっても一緒だった。
まあ、全体のボリュームサイズは一緒だし、やっていることも初期化ということで
納得の結果といったらそうだったんですが、、、
ちょっと期待していたのになーって感じでした w
ちなみに、個人的にはできることなら fioの方
をおすすめします。
理由は 下のように画面にでてくるのですが、進捗率と残り時間をリアルタイムで表示してくれます。
それがすごくわかりやすいです。
また完了後の情報も多いです。
dd もsudo pkill -USR1 dd
を使えばわかるんですが、別ターミナル立ち上げるし、なんか
pkillとかよくわからんコマンド使っているし、少し勇気が必要ですw
ということでddとfioの検証でした。
すこしそれますが、今回検証でc5d.largeインスタンスを使ったんですが、、、
startしてからsshアクセスできるまでの時間がすごく早く感じました。
ということで、
良い AWS ライフを !
以上