先日、Diskpsd についてのメモ という投稿をしましたが、実行結果を整形するサンプルを置いておきたいと思います。
DiskSpd_Documentation.docx にも整形するための PowerShell が記載されていますので、基本的な情報についてはそちらを参考にしていただければと。
私が Diskspd を使用するときは、SQL Server 向けのディスクパフォーマンスを測定する目的で使用することが多いです。
測定の際には、
- 単一のドライブに 1 ファイル配置
- ブロックサイズ/スレッド数/アクセスパターンを変えながらテスト
を実施するため、このパターンの測定結果が取得できるようにしています。
Diskspd の実行結果は、XML で取得できますので、結果の XML を整形することで、確認しやすい形で結果を利用することができます。
上記のパターンの測定をするためのスクリプトをざっくりと作成し diskspd による SQL Server を想定したディスク IO の計測.ps1 として Gist で公開してみました。
実行すると以下のような結果が取得できます。
SQL Server では、8KB (ページ) / 64KB (エクステント) / 256KB でのアクセスが行われることが多いので、このパターンのシーケンシャル/ランダムのアクセスについて情報を取得しています。
また、メーカーのベンチマークが 4KB / 128KB で行われていることもあるので、このパターンについても取得しています。
SQL Server 向けのアクセスのため、「-h」を使用していますので、ディスクのキャッシュを使用した速度を計測する場合にはこのオプションを省いていただければ、キャッシュが有効になるかと。
XML 形式の結果を使用することで、SQLIO を使用した場合より結果の整形が効率的に実行できそうですね。