troushoo

SCSI ディスクのパフォーマンス調査 : storport ETW トレース

SCSI ディスクのパフォーマンス調査 : storport ETW トレース

概要

SCSI ディスクのパフォーマンスの調査に使える”storport ETW トレース” を紹介します。

内容

Windows のパフォーマンスが悪い時、その問題の根本原因はディスクの性能が悪いため、という事がしばしばあります。
そこで、SCSI ディスクのパフォーマンス調査に使える、”storport ETW トレース” を紹介します。

storport ETW トレースの採取の仕方
1. “パフォーマンス モニター” (= perfmon.msc) を起動します。

2. “データ コレクター セット” → “イベント トレース セッション” → 右クリック → “新規作成” → “データ コレクター セット” をクリックします。


3. 任意の名前(= ここでは、MyStorportTrace)を入力し、”手動で作成する(詳細)” にチェックを入れ、”次へ” をクリックします。


4. “追加” をクリックします。


5. “Microsoft-Windows-StorPort” を選択し、”OK" をクリックします。


6. “キーワード(任意)” を選択し、”編集” をクリックします。


7. “IO_Performance” にチェックを入れ、”OK” をクリックします。


8. “フィルター” を選択し、”編集” をクリックします。


9. “フィルターを有効にする” にチェックを入れ、”バイナリ” にチェックを入れます。
”データのフィルター” には、トレースを採取する閾値を、(ms x 10,000) 単位の16進数で、リトルエンディアンの形式で入力します。例えば、入力値の例は以下のようになります。

10進数 16進数 バイナリ(= この値を入力)
1ms (10,000) 2710 10 27 00 00 00 00 00 00
5ms (50,000) C350 50 C3 00 00 00 00 00 00
10ms (100,000) 186A0 A0 86 01 00 00 00 00 00
15ms (150,000) 249F0 F0 49 02 00 00 00 00 00

入力が終わったら、”OK” をクリックします。


[注意]
ここのフィルターの値は、Storport トレース終了ごとに値がリセットされてしまいます。

10. “次へ” をクリックします。


11. データの保存場所を選択し、”次へ” をクリックします。


12. “完了” をクリックします。


13. 作成したイベント トレース セッション を右クリックし”開始” をすると、トレースが開始します。


14. トレースを終了するには、右クリック → “停止” をクリックします。


storport ETW トレースの見方
1. イベントビューアー(= eventvwr.msc) を開きます。

2. “保存されたログを開く” をクリックします。


3. 作成したトレースファイルを開きます。


4. ダイアログが表示されたら”はい” → “OK” とクリックします。



5. イベントID 201 が確認でき、トレースの情報が表示されます。
199-18

主な値の意味は以下です。
RequestDuration_100ns I/O がハードウェアでかかった時間を、100ns 単位で表します。
ms に変換するには、10,000 で割ります。
Command SCSI コマンドです。10進数で表示されています。
SCSI コマンドは、こちらで確認できます。
SrbStatus I/O リクエスト完了時のリターンコードです。
SrbStatus の値の意味は、WDK に含まれるsrb.h・scsi.h で確認できます。
ScsiStatus HBAやターゲットのデバイスから返されたSCSI のステータスコードです。10進数で表示されています。
SCSI ステータスは、こちらで確認できます。

6. Read(10)や、キャッシュなしのWrite(10)のRequestDuration の値によりパフォーマンスを判断できます。
(数値は目安で、環境により変わります)
9ms 未満 性能に優れる
15ms 未満 性能がよい
25ms 未満 通常
25ms 以上 性能がよくない
情報ソース:Deciphering Storport Traces 101

補足
[補足1]
今回紹介した方法は、8.1/2012 R2 もしくは、KB2819476 をインストールした8/2012 で使用可能です。

Vista/7/2008/2008 R2/KB2819476 をインストールしていない8/2012 でもstorport ETW トレースは使用可能です。
しかし、若干だけ手順が異なります。詳細は、リンク先をご参照願います。

Vista/7/2008/2008 R2
Storport ETW Logging to Measure Requests Made to a Disk Unit (英語)

KB2819476 をインストールしていない8/2012
Tracing with Storport in Windows 2012 and Windows 8 without KB2819476 hotfix (英語)

[補足2]
storport ETW トレースは、SCSI ディスクに対してのみ使えます。SCSI ディスクは主にサーバーで使われています。
通常のPC で使用されている、SATA ディスクに対しては使えません。


情報元
Tracing with Storport in Windows 2012 and Windows 8 with KB2819476 hotfix (英語)

関連記事
Windows 8/Windows Server 2012のPowerShellでAlternate Data Streamsの操作
  1. 2014/10/09(木) 22:52:26|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<アプリのソースコードを変更することなく、アプリの挙動を変更:Application Compatibility Toolkit | ホーム | 名前解決の一覧を表示してくれる、Wireshark 1.10 からの新機能:Show address resolution>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/199-a1a269bf
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (114)
ネットワーク (54)
Wireshark (48)
AD (36)
Linux (45)
WinDbg (46)
SOS・Psscor2/Psscor4 (25)
Visual Studio (56)
Tips (32)
コンテナ (4)
Azure (17)
.NET (24)
Python (9)
Java (5)
SQL (6)
事例 (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する