[[PageOutline]] [[TitleIndex(TipAndDoc/storage,format=group)]] = bechmark = * [http://fsbench.filesystems.org/ File and Storage System Benchmarking Portal] * [http://www.nminoru.jp/~nminoru/unix/fs_benchmarks.html ファイルシステムのベンチマーク集] * github:manno/bonnie-google-chart Generates a single HTML page containing all the graphs. * github:cxcv/iops IO benachmark tool that performs random reads on block devices == fio == * [http://www.winkey.jp/article.php/20110310142828679 LinuxのI/OベンチマークでCrystalDiskMarkと同等の計測をfioで実現 - WinKey] * [http://buty4649.hatenablog.com/entry/2015/02/09/fio%E3%81%A7CrystalDiskMark%E3%81%A3%E3%81%BD%E3%81%84%E8%A8%88%E6%B8%AC%E3%82%92%E8%A1%8C%E3%81%86%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F fioでCrystalDiskMarkっぽい計測を行うコマンドを作った - ぶていのログでぶログ] * github:buty4649/fio-cdm * [http://d.hatena.ne.jp/sh2/20121217 Provisioned IOPSの検討 - JPOUG Advent Calendar 2012 - SH2の日記] * https://gist.github.com/sh2/3631311 * [http://qiita.com/sion_cojp/items/bef955bba3dbf9d603f8 CentOS - EXT4 vs XFS vs Btrfs vs ZFSをfioでベンチマークを取ってみました。 - Qiita] === benchmark with fio === * 要件 * physical block device * 1台~4台に対するI/O * 同時1台×4回 (sda, sdb, sdc, sdd) * 同時2台、3台、4台の時1台の何倍程度になるか * software RAID (mdadm) * raid0, raid1, raid5, raid6, raid10 * LVM on physical device * linear lv (default) * raid0 lv * raid1 lv * raid5 lv * raid10 lv * thin lv * thin lv with --zero n * thin raid1 lv * thin raid1 lv with --zero n * thin raid5 lv * thin raid5 lv with --zero n * thin raid6 lv * thin raid6 lv with --zero n * thin raid10 lv * thin raid10 lv with --zero n * LVM on mdadm * mdadm側で各種RAID設定をする * linear lv * thin lv * thin lv with --zero n * filesystem * placed directly on physical device * placed on RAID * placed on LVM * fstype: ext3 | ext4 | xfs | btrfs | exfat | ntfs == CrystalDiskMark 4 == * http://crystalmark.info/software/CrystalDiskMark/manual-ja/ * github:microsoft/diskspd をエンジンに使用 * diskspd fork時の引数 1. {{{-cサイズM}}} でI/O用にテストファイルを作成。この時は「テストデータ」の選択によらず必ずrepeating pattern (0x0, 0x1, 0x2, ..., 0x255, 0x0, 0x1, ...)でfillされる 2. 計測のため、作成したファイルにI/Oを行う * 書き込みテストの際、「テストデータ」で All 0x00 fill を選択すると、{{{-Z4K}}}, {{{-Z128K}}}, {{{-Z1M}}}の代わりに{{{-Z}}}が指定される * TEST_SEQUENTIAL_READ_MULTI_QT * {{{-b128K -d5 -oキュー数 -tスレッド数 -W0 -h -w0}}} * TEST_SEQUENTIAL_WRITE_MULTI_QT * {{{-b128K -d5 -oキュー数 -tスレッド数 -W0 -h -w100 -Z128K}}} * TEST_RANDOM_READ_4K_MULTI_QT * {{{-b4K -d5 -oキュー数 -tスレッド数 -W0 -r -h -w0}}} * TEST_RANDOM_WRITE_4K_MULTI_QT * {{{-b4K -d5 -oキュー数 -tスレッド数 -W0 -r -h -w100 -Z4K}}} * TEST_SEQUENTIAL_READ * {{{-b1M -d5 -o1 -t1 -W0 -h -w0}}} * TEST_SEQUENTIAL_WRITE * {{{-b1M -d5 -o1 -t1 -W0 -h -w100 -Z1M}}} * TEST_RANDOM_READ_4K * {{{-b4K -d5 -o1 -t1 -W0 -r -h -w0}}} * TEST_RANDOM_WRITE_4K * {{{-b4K -d5 -o1 -t1 -W0 -r -h -w100 -Z4K}}} 3. それぞれのテストを指定した回数だけ繰り返す