2024年5月1日水曜日

linux で DiskMark

Microsoft が公開しているdiskspd for linux を使用します
Windows用のDisk I/O ベンチで有名なCrystalDiskMark のバックエンドで使用されているそうです
以下の内容はdiskspd for linuxを参考にさせて頂きました。

# make、gcc、libaio-dev のパッケージが必要です
$ sudo apt install make gcc libaio-dev

# 適当なディレクトリーに移動して git clone します
$ git clone https://github.com/microsoft/diskspd-for-linux

# diskspd-for-linuxのディレクトリーに移動して make
$ cd diskspd-for-linux
$ make
$ sudo make install

# diskspd単体で使う場合、いろいろオプションが必要ですが、CrystalDiskMark V8相当のスクリプトが githubで公開されているのでそれを使用します
$ git clone https://github.com/haxyier/DiskMark-linux-sh
$ cd DiskMark-linux-sh
$ ./DiskMark-linux.sh test.dat

# DiskMark-linux.shを実行すると実行結果が細かく出力されので、CrystalDiskMark相当の出力に整形します $ ./DiskMark-linux.sh test.dat |tee diskspd.dat
$ cat diskspd.dat | awk '/^Executing/ {printf "%s%s%s\t",$3,$4,$5} /^Total IO$/ {getline;getline;getline; print $7 }'


# rasspbery pi 3 B+をUSB接続のmSATAのHATで実行した結果は以下の様になりました
# cat diskspd.dat | awk '/^Executing/ {printf "%s%s%s\t",$3,$4,$5} /^Total IO$/ {getline;getline;getline; print $7 }'
Read(SEQ1MQ8T1)... 27.20
Read(SEQ1MQ1T1)... 28.00
Read(RND4KQ32T16)... 0.52
Read(RND4KQ1T1)... 7.74
Write(SEQ1MQ8T1)... 29.20
Write(SEQ1MQ1T1)... 33.60
Write(RND4KQ32T16)... 0.08
Read(RND4KQ1T1)... 9.26

pi3のUSBはUSB2なので最大60MB/sですが、ちょっと遅いですね。

ちなみにIntel Pentium N4200の載ったLIVA Z でM.2のSATAのSSDでは以下の結果です
Read(SEQ1MQ8T1)... 500.20
Read(SEQ1MQ1T1)... 412.40
Read(RND4KQ32T16)... 9.07
Read(RND4KQ1T1)... 13.28
Write(SEQ1MQ8T1)... 240.00
Write(SEQ1MQ1T1)... 153.00
Write(RND4KQ32T16)... 0.28
Read(RND4KQ1T1)... 49.07

readに関してはSATAの上限まででてますね。

0 件のコメント:

コメントを投稿