PCまたはサーバーのハードドライブをストレステストする方法
あなたのハードドライブのうちどれが最速で、それは本当に製造業者が約束したのと同じくらい速いですか?デスクトップPCでもサーバーでも、Microsoftの無料のDiskspdユーティリティはハードドライブのテストとベンチマークテストを行います。.
注:このガイドの以前のバージョンでは、Microsoftの古い「SQLIO」ユーティリティを使用して説明しました。しかし、Microsoftは現在SQLIOに代わる「Diskspd」ユーティリティしか提供していないため、このガイドを最新の手順に更新しました。.
なぜDiskspdを使うのか?
ドライブのIO機能を知りたい場合は、Diskspdが優れたツールになります。 Diskspdは、サーバーのハードドライブが処理できる最大容量を教えてくれるか、デスクトップPCのワークロードが重い場合(または単にPCゲームを要求する場合)に使用する必要がある最速のハードドライブを指示します。.
例として、サーバー上にFドライブ、Gドライブ、Cドライブの3つのドライブがあるとします。 FドライブにMDF、GドライブにLDF、CドライブにOSがある場合、セットアップが有効かどうかを評価できます。たとえば、MDFファイルが最も読み書きの多いファイルの場合は、最速のドライブに保存する必要があります。.
上記の例とグラフ(OS、LDF、およびMDFの書き込みと読み取りを表します)を使用すると、MDFが最も使用頻度が高いので、MDFファイルを最速のドライブに配置します。私達のDiskspd分析がFが私達の最も速いドライブであることを示したら、私達は私達のMDFファイルをFドライブに置くでしょう.
Diskspdをダウンロードする場所
マイクロソフトはこの優れたツールを無料で提供しています。MicrosoftTechnetからダウンロードできます。オープンソースなので、GitHubからソースコードをダウンロードして調べたり、修正したりできます。.
Diskspdは、デスクトップバージョンのWindows 7、8、8.1、10、およびWindows Server 2012、2012 R2、および2016 Technical Preview 5で動作することがテストされています。.
ダウンロードしたら、.zipファイルの内容をコンピュータのフォルダに抽出する必要があります。アーカイブには3つの異なる「diskspd.exe」ファイルが含まれています。 「amd64fre」フォルダ内のものは64ビットWindows PC用であり、「x86fre」フォルダ内のものは32ビットWindows PC用です。 64ビット版のWindowsを使用していて、おそらくそうであれば、64ビット版を使用することをお勧めします。.
ストレステストを実行する方法?
単一のテストを実行するには、管理者対応のコマンドプロンプトからDiskspdコマンドを呼び出すだけです。 Windows 10または8.1の場合は、スタートボタンを右クリックして「コマンドプロンプト(管理者)」を選択してください。 Windows 7では、[スタート]メニューの[コマンドプロンプト]ショートカットを見つけて右クリックし、[管理者として実行]を選択します。.
まず、 cd
使用するDiskspd.exeを含むディレクトリに切り替えるには
cd c:\ path \ to \ diskspd \ amd64fre
私たちの場合、それは以下のコマンドのように見えました.
さて、あなたが使いたいオプションでDiskspdコマンドを実行してください。ダウンロードしたDiskspdアーカイブに含まれている30ページのDiskSpd_Documentation.pdfファイルに、コマンドラインオプションと使用方法の完全なリストがあります。.
しかし、すぐに起動して実行したい場合は、ここにコマンド例があります。次のコマンドは、ブロックサイズを16Kに設定し(-b16K)、30秒のテストを実行し(-d30)、ハードウェアとソフトウェアのキャッシュを無効にし(-Sh)、待ち時間統計を測定し(-L)、スレッドごとに2つのIO要求を使用します( - ターゲットあたりo2)および4スレッド(-t4)、順次書き込みではなくランダムアクセスを使用し(-r)、30%の書き込み操作と70%の読み取り操作を実行します(-w30)。.
サイズが50 MBのファイル(c:¥testfile.dat)を作成します(-c50 M)。たとえば、代わりにD:ドライブをベンチマークしたい場合は、d:\ testfile.datと指定します。
Diskspd.exe -b16K-d90 -Sh -L -o2 -t4 -r -w30 -c50M c:\ testfile.dat
上記のテストで30秒を指定した後、テスト結果がコマンドプロンプトに表示され、それらを表示できます。.
結果を調べると、テスト中にドライブが到達した平均MB /秒 - 1秒間に実行された書き込み操作の数、1秒間に実行された読み取り操作の数、および入出力(IO)操作の合計量がわかります。毎秒。これらの統計は、複数のドライブを比較して特定の操作にどれが速いかを調べるときに最も役立ちますが、ハードドライブが処理できるIOの量も正確にわかります。.
結果をテキストファイルにダンプして、後で>演算子で表示することもできます。たとえば、belowコマンドは上記と同じコマンドを実行し、結果をC:\ testresults.txtファイルに配置します。.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c:\ testfile.dat> c:\ testresults.txt
他のドライブについてもこの手順を繰り返して比較します。.
ストレステストコマンドをカスタマイズする
特定の作業負荷に対してどれが最速のハードドライブかを判断しようとしている場合は、その作業負荷に最も適したコマンドを作成する必要があります。たとえば、データを読み取るだけで書き込みを行わないサーバーの場合は、書き込みパフォーマンスを測定しない100%読み取りのテストを実行する必要があります。そのストレステストを複数のドライブに渡って実行し、その結果を比較して、その種類の作業に対してどれが速いかを確認します。.
Diskspd.exeに指定できるコマンドラインオプションは他にもたくさんあります。ダウンロードしたDiskspd.exeファイル自体に付属のマニュアルに、最も完全で最新のリストがありますが、いくつか重要なオプションがあります。
- -w 書き込みおよび読み取り操作の割合を示します。たとえば、-w40と入力すると、40%の書き込み操作が実行され、60%の読み取り操作が実行されます。 -w100を入力すると、100%の書き込み操作が実行されます。 -wスイッチを省略するか、-w0を入力すると、書き込み操作が0%になり、読み取り操作が100%になります。.
- -r または -の テストがランダムアクセスまたは順次操作のどちらを使用するかを決定します。ランダムアクセスの場合は-r、シーケンシャルの場合は-sを指定します。これにより、ランダムファイルアクセス(多くの場合、小さなファイルの集まり)またはシーケンシャルファイルアクセス(多くの場合、一度に読み取りまたは書き込みが行われる1つの大きなファイル)をテストできます。.
- -トン 同時に実行されるスレッド数を示します(2つのスレッドの場合は-t2、6つのスレッドの場合は-t6など)。.
- -○ スレッドごとの未処理の要求数を示します(4つの要求に対しては-o4、2つの結果に対しては-o2)。.
- -日 テストの期間を秒単位で指定します(90秒間で-d90、120秒間で-d120など)。.
- -b 読み取りまたは書き込みのブロックサイズです。16Kブロックサイズの場合は-b16K、64Kブロックサイズの場合は-b64Kです。.
これらのオプションを使用して、ベンチマークコマンドを微調整して、さまざまな負荷でディスクがどのように動作するかを確認できます。 PC上で実行する作業負荷のタイプに近いと感じるコマンドを作成したら、いくつかのドライブにストレステストを行い、どれが最高のパフォーマンスを提供するかを確認できます。.