トリム パフォーマンス テスト
このテストでは、trim コマンドのパフォーマンスを評価します。
テストの詳細
仕様 |
|
プラットフォーム |
|
サポートされているリリース |
|
予想される実行時間 (分) | 180 |
カテゴリ | ベンチマーク |
タイムアウト (分) | 10800 |
再起動が必要です | false |
特別な構成が必要です | false |
Type | automatic |
その他のドキュメント
この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。
テストの実行
テストを実行する前に、「ハード ディスク ドライブのテストの前提条件」で説明されているテスト要件に従って、テストのセットアップを完了します。
トリムをサポートするデバイスが適切なコントローラーに接続されている必要があります。 テストに合ったパーティションとフォーマットが設定されたディスクがジョブによって準備されます。 このテストは破壊的であるため、ブート ドライブを対象ディスクにすることはできません。 また、テストによって大量のデータがログに記録されるため、ロガー ドライブとして別のドライブを使用できるようにしてください。 テストでは、ログ記録ドライブが自動的に選択されます。 ロゴ テスト以外でドライブ上で発生するアクティビティの量を最小限に抑えることが重要です。 これはパフォーマンス テストなので、外部アクティビティが結果に影響を与える可能性があります。 さらに、テストを開始する前に、データを書き込んでドライブをいっぱいにすることによってドライブを事前設定すると、より一貫性のある結果が得られる可能性があります。 これはドライブの実装に依存しており、すべてのドライブにとってメリットがあるとは限りません。
トラブルシューティング
HLK テスト エラーの一般的なトラブルシューティングについては、「Windows HLK テストのエラーのトラブルシューティング」を参照してください。
WTT トレースを確認する
トリム パフォーマンス テストの実行のタスク ログを表示します。
ログ ファイル TrimPerf.wtl を開きます。
問題を解決する可能性のあるメッセージがないか確認します。
.wtl ログ ファイルをコピーします。 これは、「WTT トレース」セクションで説明されている WTT トレースです。
起動したコマンドの結果を確認します
トリム パフォーマンス テストの実行 (LOGO) のジョブ ログを参照します。
LaunchCommand.result を開きます。
エラーがプロセスの起動に関連している場合は、logman または tracerpt が失敗した理由を確認します。
メトリックが見つかりませんでした
テストは、コマンド補完メトリックを取得するために有効になっている Storport ETW トレースに依存します。 このトレースの有効化の詳細については、ETW トレースのセクションを参照してください。
他の Storport ETW トレースが現在ログに記録されていないことを確認します。 一度にアクティブにできる Storport ETW トレースは 1 つだけです。
"テスト ドライブでトリムがサポートされていません" というエラー メッセージが表示された場合は、次の手順を試します。
SATA SSD の IDENTIFY DEVICE データのワード 169 ビット 0 が 1 に設定されていることを確認します。
DATA SET MANAGEMENT による Trim コマンドの送信を試します。
もう一度テストを実行します。
読み取りと書き込みの最大待機時間が 500 ミリ秒を超えたためにテストが失敗した場合は、次の操作を試します。
トリムなしで IO 待機時間を確認します。 待機時間を 500 ミリ秒未満に減らしてみます。
トリムありで IO 待機時間を確認します。 待機時間を 500 ミリ秒未満に減らしてみます。
特定のテスト ケースを実行してエラーをデバッグする場合は、次のコマンド ライン オプションを試すことができます。
すべてのテスト ケースを数値で表示する: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /PrintTestCaseName
特定のテスト ケースをテスト ケース番号で実行する: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Precondition F /TestCase [TestCaseNumber]
特定の純粋なトリム シナリオを実行してエラーをデバッグする場合は、次のコマンド ライン オプションを試すことができます。
バイナリには単体テスト オプションがあります: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Precondition F /UnitTest T /RangeCount [NumberOfRangesPerTrim] /SizeCount [SizeOfEachRange] /SizeUnit Sector /TrimCount [NumberOfTrims]
/RangeCount: Trim コマンドごとの範囲の数
/SizeCount: /SizeUnit 内の各範囲のサイズ
/SizeUnit: /SizeCount の粒度 (SATA SSD の場合、粒度はセクター)。
/TrimCount: テスト ケースで送信されたトリムの数。
エラーを迅速にデバッグする場合は、次のように /Precondition F パラメーターを追加して、事前設定 (ドライブを 90% まで埋めるため時間がかかります) を無効にします。
- TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2 /Precondition F
トラブルシューティング情報の詳細については、「Device.Storage テストのトラブルシューティング」を参照してください。
詳細情報
このジョブでは、テスト対象のデバイスのデバイス インスタンス ID を取得し、デバイス インスタンス ID を物理ドライブ番号に変換します。 ジョブは、ドライブをテストに必要な構成にするために、ドライブをパーティション分割してフォーマットします。 テストは、要件の項目にそれぞれマップされる一連のテスト ケースを使用して実行されます。 テスト ケースは自己完結型であり、順番に実行されます。 テスト ケースの一覧を取得するには、適切なデバイスを指定した PrintTestCaseName コマンド ライン オプションを使用します。 これらの各テスト ケースは、さらにテストやデバッグを行うために、スタンドアロン モードでテストを使用して、コマンド ラインで実行できます。
Trim パフォーマンス テストでは、実行するパフォーマンス テストと適切なメトリックをデバイスの種類ごとに定義するポリシー テーブルが格納されています。 テーブル内の適切な項目を選択すると、そのデバイスのテーブルで定義されているスレッドが、テストによって順番に生成されます。 各スレッドは、テーブルに指定されたパラメーターに従って実行されます。 各スレッドの停止条件が満たされると、スレッドは実行を停止し、結果が解析されて成功/失敗のログが生成されます。
テストでは大量のパフォーマンス ログが生成されるため、テスト対象のドライブのパフォーマンスに影響を与えないようにするために、これらのログは別のドライブに書き込まれます。 ドライブはジョブによって自動的に選択されますが、コマンド ラインで指定することもできます。
テスト コマンドは次のとおりです。
Trim コマンド
すべての Trim コマンドは、500 ミリ秒未満で完了する必要があります。
IO コマンド (同時に Trim を送信)
すべての読み取りおよび書き込みコマンドは、500 ミリ秒未満で完了します。
I/O コマンドの 98.5% は、100 ミリ秒未満で完了します。
コマンド構文
コマンド オプション | 説明 |
---|---|
TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LogDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2 |
|
テストを実行します。 |
Note
このテスト バイナリのコマンド ライン ヘルプを表示するには、「/h」と入力します。
ファイル一覧
ファイル | 場所 |
---|---|
TrimPerf.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\ |
Etwprocessor.dll |
<[taefbinroot]>\ |
Wex.common.dll |
<[taefbinroot]>\ |
Wex.communication.dll |
<[taefbinroot]>\ |
パラメーター
パラメーター名 | パラメーターの説明 |
---|---|
WDKDeviceID | テストするデバイスのインスタンス パス。 |
LLU_NetAccessOnly | テスト ファイル共有にアクセスするためのユーザー アカウントです。 |
LLU_LclAdminUsr | テストを実行するためのユーザー アカウント。 |
Destructive | (0、1) 0 = パッシブ、1 = 破壊的 |
StorageDriveNumber | ストレージ ドライブ番号 |
QueryStorage_bus_type | ストレージ バスの種類 |