Thin Provisioning Performance Test - NTFS (LOGO)
This automated test evaluates the NTFS performance of the Unmap command for thin provisioning LUNs.
Test details
Specifications |
|
Platforms |
|
Supported Releases |
|
Expected run time (in minutes) | 180 |
Category | Benchmark |
Timeout (in minutes) | 10800 |
Requires reboot | false |
Requires special configuration | false |
Type | automatic |
Additional documentation
Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):
Running the test
Before you run the test, complete the test setup as described in the test requirements: Hard Disk Drive Testing Prerequisites.
The test requires a thin provisioned LUN device setup on the client machine. The LUN must satisfy the following requirements:
The drive should be a non-boot drive. The test is destructive. It will prepare the disk with correct partition and formatting for the test.
The drive must support UNMAP (10) command. The VPD B0h page's LBPU bit is set to 1. The test will send down Unmap commands by using the DATA SET MANAGEMENT's Trim command.
Make sure that there is a separate drive available to be used as a logger drive. The test will automatically pick the logging drive. It is important to minimize the amount of activity that occurs on the drive (outside of the logo test). Because this is a performance test, outside activity can affect the results.
Troubleshooting
For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.
For troubleshooting information, see Troubleshooting Device.Storage Testing.
Error | Description/Workaround |
---|---|
Test failed and went to check WTT Trace |
How to check log files upon test failure:
|
No metrics found |
The test depends on Storport ETW tracing being enabled to get the command completion metrics. Make sure that no other Storport ETW traces are currently logging. Only one Storport ETW trace can be active at a time. |
Test failed with a "write protected" error |
|
Test warns: "The test drive does not support trim". |
|
Test warns: "Read/write max latency exceeds logo requirement of 500.0 ms". |
The test sends IO together with Unmap when it measures the max IO latency. The virtual address of IO and Unmap are not interleaving. |
More information
Test metrics
Command | Test metrics |
---|---|
Unmap command |
All Unmap commands shall be completed in less than 500ms. |
IO command(with Unmap sending at the same time) |
|
Currently this test only gives warnings if the thin provisioned LUN under test fails to meet the bar described in the preceding table. The test never fails on this, but you must make sure that the LUN supports UNMAP (10) command, and that the LUN never goes offline when the test is running.
To manually reproduce the test
Open the Registry Editor and follow the path: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_[name of drive under test]\[device instance path of the thin provisioned LUN]\Device Parameters\Storport
Right click Storport, click New, and click DWORD (32-bit) Value.
Name the key EnableLogoETW, and set the value to 1.
Replug the drive under test or reboot the machine to enable the registry key.
Copy TrimPerf.exe, EtwProcessor.dll, Wex.Common.dll, and Wex.Communication.dll files to the local drive.
Run the test on a command line (see Command Syntax).
Command syntax
Command option | Description |
---|---|
TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType [DeviceType] /Scenario [Scenario] /DiskSize [DiskSize] /Cooldown [Cooldown] |
Runs the test. |
Note
For command line help for this test binary, type /h.
File list
File | Location |
---|---|
TrimPerf.exe |
<[<[testbinroot]>]> \nttest\driverstest\storage\wdk\ |
EtwProcessor.dll |
<[WHCK\TAEFBinRoot]>\ |
Wex.Common.dll |
<[WHCK\TAEFBinRoot]>\ |
Wex.Communication.dll |
<[WHCK\TAEFBinRoot]>\ |
Parameters
Parameter name | Parameter description |
---|---|
WDKDeviceID | Instance path of device to test. |
LLU_NetAccessOnly | User account for accessing test fileshare. |
LLU_LclAdminUsr | User account for running the test. |
Destructive | (0,1) 0=Passive, 1=Destructive |
StorageDriveNumber | Storage drive number |
QueryStorage_bus_type | Storage bus type |