i/o計測アプリケーション
CentOSならepelリポジトリで入手可能

関連xfs/hw-raid

[root@s fio-cdm]# yum --enablerepo=epel install fio

この手のベンチマークアプリでwindowsならCrystalDiskMarkがある。
それに模した計測ができるfioなスクリプトがある。参照: https://github.com/buty4649/fio-cdm
これを参考にして手持ちのHDDを計測してみた

まずはそのfioなスクリプトを入手

[root@s src]# git clone https://github.com/buty4649/fio-cdm.git
[root@s src]# cd fio-cdm
[root@c fio-cdm]# ls
LICENSE  README.md  fio-cdm
[root@c fio-cdm]#

このスクリプトをそのまま実行してみたのだが、、なんか?な感じだった

[root@s fio-cdm]# ./fio-cdm /share
|      | Read(MB/s)|Write(MB/s)|
|------|-----------|-----------|
|  Seq |    181.175|    138.024|
| 512K |     45.725|    137.653|
|   4K |  49693.000|     24.419|
|4KQD32|  95043.000|      2.667|
[root@s fio-cdm]#

なので、生データをそのまま表示してみた fio/計測1
単に、4Kと4DQD32のReadは単位の接頭辞なしのByte表記みたい。
SSDなディレクトリを対象に計測すると

[root@s fio-cdm]# ./fio-cdm /tmp
|      | Read(MB/s)|Write(MB/s)|
|------|-----------|-----------|
|  Seq |    454.505|    375.504|
| 512K |    415.584|    375.504|
|   4K |     32.310|    158.146|
|4KQD32|    155.034|    267.224|
[root@s fio-cdm]#

と表記された。

*上記fio-cmdはfioのversionが2ならOK
だが、いまはfioがversion3になってfioの出力フォーマットが変更されたため使えません。

fio version3向けの fio-cmd を作られた方がおられました。
https://mecobalamin.hatenablog.com/entry/2019/05/17/203406
敬意を表します。
kBの取り扱いに支障がありましたので、修正してみました fio/fio-cdm_200428.sh

bonnie++との比較

bonnie++で示した bonnie++-1.03e にて計測してみた

[root@s ~]# ./bonnie++/sbin/bonnie++ -d /share -n 256:1024:1024:16 -u root
Sequential OutputSequential InputRandom SeeksSequential CreateRandom Create
Per CharBlockRewritePer CharBlockCreateReadDeleteCreateReadDelete
158741(99)179745(5)79391(4)139863(91)236876(6)277.0(1)16954(25)42731(14)68769(104)19115(28)247214(95)50341(103)

ちなにみ bonnie++-1.96 だと

[root@s ~]# bonnie++ -d /share -n 256:1024:1024:16 -u root
(略
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
s.sybyl.local   63G   975  97 181171   4 81927   3  5618  93 223490   5 299.6   8
Latency             25650us   57697us     701ms   13444us     173ms    1107ms
Version  1.96       ------Sequential Create------ --------Random Create--------
s.sybyl.local       -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
   256:1024:1024/16 16705  25 194794  67 57208  87 16613  24 282046  91 48045  91
Latency              6189ms     285ms   11169us    4317ms   19271us    3482us
[root@s ~]#

1.03eと1.96で、Sequential OutputのBlockRewrite、Sequential InputのBlock、RandomのSeeksはほぼ同じかな。

versionSequential OutputSequential InputRandom
BlockRewriteBlockSeeks
1.03e17974579391236876277.0
1.9618117181927223490299.6

これとfioの結果を比較して、、、

[root@s fio-cdm]# ./fio-cdm /share
|      | Read(MB/s)|Write(MB/s)|
|------|-----------|-----------|
|  Seq |    181.175|    138.024|
| 512K |     45.725|    137.653|
|   4K |  49693.000|     24.419|
|4KQD32|  95043.000|      2.667|
[root@s fio-cdm]#

Seqは同じくらいかな....

ddコマンドで比較

もっと単純なコマンドで比較してみた

[root@s ~]# cd /share/
[root@s share]# time dd if=/dev/zero of=./zero1 bs=1G count=10 conv=fsync
10+0 レコード入力
10+0 レコード出力
10737418240 バイト (11 GB) コピーされました、 58.8793 秒、 182 MB/秒
 
real    0m58.887s
user    0m0.000s
sys     0m4.594s
[root@s share]#

となる。これって書込みなのだが、fio/bonnie++の値からReadなのかな?

hdparam

readのみの計測ならhdparmがある。

[root@s ~]# yum install hdparm

/shareを有するデバイスは/dev/sdb1なので、計測は下記のようにして行う

[root@s share]# hdparm -t /dev/sdb1
 
/dev/sdb1:
 Timing buffered disk reads: 528 MB in  3.00 seconds = 175.91 MB/sec
[root@s share]#

ついでにssdな/tmpを含む/dev/sda4を計測してみた

[root@s share]# hdparm -t /dev/sda4
 
/dev/sda4:
 Timing buffered disk reads: 1154 MB in  3.00 seconds = 384.33 MB/sec
[root@s share]#

デバイス全体では

[root@s share]# hdparm -t /dev/sda
 
/dev/sda:
 Timing buffered disk reads: 1310 MB in  3.00 seconds = 435.99 MB/sec
[root@s share]#

とあり、fioの値に似てくる

Sequential readな部分はどのソフトでも同じような値を出すみたい。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-03-21 (土) 21:59:58 (1175d)