Microsoft製のディスクベンチマークソフト「Diskspd」を使ってみる

米マイクロソフト社が提供するディスクベンチマークソフト「Diskspd」のご紹介です。

Diskspdとは?

Diskspdは、米マイクロソフトが作成したディスクベンチマークソフトウェアです。

定番ベンチマークソフト「CrystalDiskMark」の測定部分に利用されているソフトウェアで、CrystalDiskMarkに比べ、より細かい条件でベンチマークを行うことができます。

例えば、「読み書きするファイルサイズを自由に指定したい。」、「読み込み速度だけを求めたい。」といった場合に使用できます。

ただ、コマンドプロンプトで実行するソフトなため、GUIを求めている方にはオススメできません。


Diskspdのオプション一覧

-bブロックサイズを指定する
デフォルトは 64KB
-cテストファイルのサイズを指定する
-C<秒>インターバルを指定する
-d<ミリ秒>テスト時間を指定する
デフォルトは 1000ミリ秒
-hSW / HWキャッシュを無効化する
-P進歩状況を表示する
-rランダムアクセスを行う
-SSWキャッシュを無効化する
-tスレッド数を指定する
-v詳細モードを有効化する
-w<割合>書き込みの割合を指定する
デフォルトは 0%

Diskspdのダウンロードと使い方

  1. マイクロソフト公式サイトにアクセスし、Diskspd-v2.0.15.zipをクリック
  2. ダウンロードしたDiskspd-v2.0.15.zipを解凍
  3. 32bitOSなら「x86freフォルダ」、64bitOSなら「amd64freフォルダ」をクリック(今回はx86freを選択)
  4. エクスプローラ上部のアドレスバーをクリック
  5. 選択されたパスをコピー(Ctrl + C)
  6. 管理者権限のコマンドプロンプト(開き方)を開いて、次のコマンド文を入力。そしてエンター(Enter)
    cd <コピーしたパス>
    例:
    cd C:\Users\7\Desktop\Diskspd-v2.0.15\x86fre

  7. diskspd.exe -c1G -b512k -d600 -h -w50 benchmark.binと入力しエンター(Enter)を押せば、ベンチマークが始まります。
    -c1G:テストファイルのサイズ(1GB)
    -b512k:ブロックサイズ(512KB)
    -d600:テスト時間(10分)
    -h:キャッシュを無効化
    -w50:書き込みの割合(50%)
    ※100%で書き込みのみ、無指定で読み込みのみを測定
    benchmark.bin:テストファイルの名前
  8. ベンチマークが終了すると結果が表示されます。

Diskspdの結果の見方

測定条件にもよりますが、基本的にRead IOWrite IOそれぞれのMB/sの値に注目してください。次の場合は書き込み速度が49.39MB/s? 、読み込み速度が 49.41MB/sとなります。

Command Line: diskspd.exe -c1G -b512k -d600 -h -w50 benchmark.bin

Input parameters:

        timespan:   1
        -------------
        duration: 600s
        warm up time: 5s
        cool down time: 0s
        random seed: 0
        path: 'benchmark.bin'
                think time: 0ms
                burst size: 0
                software and hardware write cache disabled
                performing mix test (write/read ratio: 50/100)
                block size: 524288
                using sequential I/O (stride: 524288)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 1
                using I/O Completion Ports
                IO priority: normal



Results for timespan 1:
*******************************************************************************

actual test time:       600.00s
thread count:           1
proc count:             3

CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  31.40%|   0.56%|   30.84%|  68.60%
   1|   4.13%|   0.90%|    3.23%|  95.88%
   2|   4.52%|   1.55%|    2.97%|  95.48%
-------------------------------------------
avg.|  13.35%|   1.00%|   12.35%|  86.65%

Total IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     62160633856 |       118562 |      98.80 |     197.60 | benchmark.bin (1024MB)
------------------------------------------------------------------------------
total:       62160633856 |       118562 |      98.80 |     197.60

Read IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     31076122624 |        59273 |      49.39 |      98.79 | benchmark.bin (1024MB)

------------------------------------------------------------------------------
total:       31076122624 |        59273 |      49.39 |      98.79

Write IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  file
------------------------------------------------------------------------------
     0 |     31084511232 |        59289 |      49.41 |      98.82 | benchmark.bin (1024MB)
------------------------------------------------------------------------------
total:       31084511232 |        59289 |      49.41 |      98.82