Freigeben über


ScatterGather (SYSTEM)

Dieser Test überprüft die E/A-Zuverlässigkeitsszenarien des Dateisystems, hauptsächlich asynchron. Dabei werden die ReadFile/WriteFile/ReadFileScatter/WriteFileGather-APIs verwendet. HLK testet vordefinierte automatisierte Regressionsvariationen.

Testdetails

   
Spezifikationen
  • System.Fundamentals.StorageAndBoot.BootPerformance
Plattformen
  • Windows 10, Client-Editionen (x86)
  • Windows 10, Client-Editionen (x64)
Unterstützte Versionen
  • Windows 10
  • Windows 10, Version 1511
  • Windows 10, Version 1607
  • Windows 10, Version 1703
  • Windows 10, Version 1709
  • Windows 10, Version 1803
  • Windows 10, Version 1809
  • Windows 10, Version 1903
  • Nächstes Update auf Windows 10
Voraussichtliche Laufzeit (in Minuten) 240
Kategorie Szenario
Zeitüberschreitung (in Minuten) 14400
Neustart erforderlich false
Erfordert eine spezielle Konfiguration false
Typ automatic

 

Zusätzliche Dokumentation

Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:

Ausführen des Tests

Bevor Sie den Test ausführen, schließen Sie die Testeinrichtung wie in den Testanforderungen beschrieben ab: Testvoraussetzungen für WDTF-Systemgrundlagen.

Führt gleichzeitig E/A (sowohl Schreib- als auch Lesevorgänge) per Multithread-Methode aus, indem E/A-Abschlussports verwendet werden, um den E/A-Prozess abzuschließen. Zunächst weden das EOF der Datei festgelegt und die E/A-Threads geplant. Während die Datei geschrieben wird, erfolgt eine Onlineüberprüfung, bei der Null oder ein berechneter Offset-Wert erwartet wird. Nachdem die gesamte Datei geschrieben wurde, erfolgt die vollständige Überprüfung der Datei. Der Test schlägt fehl, wenn Null oder ein unerwarteter Wert aufgetreten ist.

Problembehandlung

Informationen zur allgemeinen Problembehandlung bei HLK-Testfehlern finden Sie unter Problembehandlung bei Windows HLK-Testfehlern.

Informationen zur Problembehandlung finden Sie unter Problembehandlung beim Testen von Systemgrundlagen.

Dieser Test gibt „Pass“ oder „Fail“ zurück. Überprüfen Sie die Testdetails im Testprotokoll von Windows Hardware Lab Kit (Windows HLK) Studio.

Weitere Informationen

Unterstützte Testmodi:

Wir gehen davon aus, dass die meisten Benutzer vordefinierte Regressionsvariationen verwenden.

Standard, Regression (vordefinierte Variationen) und Stress geben bestimmte Arten von Fehlern an, z. B. virtuelle Alloc-Wiederholungen usw. Für den Standardmodus gibt es ein Flagsauto-Flag, das die meisten Parameter verwaltet, wenn der Benutzer die Parameter nicht manuell angeben möchte. Zusätzlich wird die Timer-Funktionalität mit Standard- und Stressmodi unterstützt. Für den Regressionsmodus gibt es eine vordefinierte Timer-Variation.

Unterstützte Lese-/Schreibmodi:

Lese-/Schreibmodus:

  • RW( Read, Write)

  • RWG( Read, Write Gather)

  • RSW( Read Scatter, Write)

  • RSWG( Read Scatter, Write Gather)

  • RRW( Random Read, Write)

  • RRWG( Random Read, Write Gather)

  • RWR( Read, Random Write)

  • RSWR( Read Scatter, Random Write)

  • RRWR (Random Read, Random Write – ca. 50 % Scatter/Gather) –> Standard

  • RRWR7 (Random Read, Random Write – ca. 30 % Scatter/Gather)

  • RRWR3 (Random Read, Random Write – ca. 70 % Scatter/Gather

Darüber hinaus unterstützt der Test Reverse Read and Reverse Write.

E/A-Drosselungsmechanismus:

Unterstützt den oberen&unteren Grenzwert für kontrollierte EA-Anforderungen. Der Umgehungsmodus ist auch möglich, wodurch das System im Wesentlichen gesprengt wird.

Datenmuster:

Einfacher, Offset-berechneter alphabetischer Wert. Bei den Timer-Variationen kann es jedoch Unvollständigkeiten geben.

Datenvalidierungsmodi:

Unterstützt sowohl Online-Überprüfungen (gleichzeitige Überprüfung zusammen mit Schreibvorgängen), vollständige Prüfungen (nach Abschluss aller Schreibvorgänge) als auch Offline-Überprüfungen. Alle diese Modi können deaktiviert/aktiviert werden. Wenn die Online-Überprüfung deaktiviert ist, werden im Wesentlichen nur Schreibvorgänge während der ersten Phase ausgeführt, nach der die vollständige Prüfung ausgeführt wird.

Der Unterschied zwischen der Online-Überprüfung und der vollständigen Prüfung besteht darin, dass die vollständige Überprüfung erst ausgeführt wird, nachdem alle Schreibvorgänge von einem einzelnen Thread abgeschlossen wurden. Im Gegensatz dazu wird die Online-Überprüfung während der Schreibvorgänge gleichzeitig ausgeführt. Dabei wird der Wert Null oder ein berechneter Offset-Wert erwartet, während bei der vollständigen Prüfung nur berechnete Offset-Werte erwartet werden.

Befehlssyntax

Befehl Beschreibung

ScatterMultiThread.exe -default -rwmode:rw -iomode:sync

Führt eine E/A vom Typ Read Write im Synchronisierungsmodus mit Standarddateigröße aus.

ScatterMultiThread.exe -default -rwmode:RSWG -RR -RER:2 -TESTPATH:d:\Scatter -FILESIZE:500m

Führt einen Scatter-Gather-Vorgang, 500m-Datei, unter dem Testpfad aus, der mit zufälligem Offset und umgekehrtem Lesevorgang angegeben ist.

ScatterMultiThread.exe -default -rwmode:RRWR -FILESIZE:2g -IODIFFUPPERTHRESHOLD:500 -IODIFFLOWERTHRESHOLD:100

Führt eine E/A in Form eines 50-prozentigen Scatter-Gather-Vorgangs, 2-GB-Datei, mit oberem und unterem Schwellenwert für die E/A aus.

ScatterMultiThread.exe -regression -regression:6

Führt eine vordefinierte Regressionsvariation 6 aus.

ScatterMultiThread.exe -stress -RWMODE:rrwr -THREADS:2 -BS:100k

Führt einen Scatter-Gather-Vorgang im Stressmodus mit 2 Reader- und 2 Writer-Threads und einer E/A-Blockgröße von 100k/ aus.

ScatterMultiThread.exe -default -FILE:timer.dat -timer:19s -FILESIZE:5g -ONLINEVERIFY:FALSE

Timer-Modus ReadWrite mit ungepuffterter E/A und kein OnlineVerify-Modus.

ScatterMultiThread.exe -default -OFFLINEVERIFY -FILE:timer.dat -FULLCHECK:FALSE -ALLOWZERO4VERIFY

Offline-Überprüfung der obigen Variation mit deaktivierter vollständiger Prüfung und AllowZero4Verify-Modus.

 

Befehlssyntax

Befehlsoption Beschreibung

ScatterMultiThread.exe

Die Befehlszeilenoptionen für den Test sind unten aufgeführt.

-help or /?

Zeigt die Hilfe an.

-default

Führt die Standardvariation mit Testparametern aus der Befehlszeile aus.

-stress

Stressmodus. Wiederholt die Speicherzuweisungsfehler usw.

-regression

Regressionsmodus. Führt den vordefinierten Regressionsmodus aus.

-testpath

Vollständiger Pfad zur Datei.

Standardwert: CWD

-file

Datei im Testpfad oder vollständigen Pfad zur Datei.

Standardwert: Scatter.dat

-filesize

Dateigröße in Bytes. Sie können auch k, m, g oder t anfügen.

Standardwert: 1m

-threads

Anzahl der exklusiven Reader- und Writer-Threads.

Standardwert: 2

-completionthreads

Die Anzahl Abschluss-Threads.

Standardwert: Anzahl Prozessoren mal zwei

-rwmode

Lese-/Schreibmodus:

  • RW( Read, Write)

  • RWG( Read, Write Gather)

  • RSW( Read Scatter, Write)

  • RSWG( Read Scatter, Write Gather)

  • RRW( Random Read, Write)

  • RRWG( Random Read, Write Gather)

  • RWR( Read, Random Write)

  • RSWR( Read Scatter, Random Write)

  • RRWR (Random Read, Random Write – ca. 50 % Scatter/Gather) –> Standard

  • RRWR7( Random Read, Random Write – ca. 30 % Scatter/Gather)

  • RRWR3( Random Read, Random Write – ca. 70 % Scatter/Gather

-iomode

synchron oder asynchron

Standardwert: asynchron

-flagsauto

TRUE oder FALSE

Standardwert: TRUE

Hinweis  

Bestimmte Datei-Flags werden automatisch basierend auf den Situationen verwaltet.

 

-ffnb

TRUE oder FALSE

Standardwert: FALSE

Hinweis  

FILE_FLAG_NO_BUFFERING wird automatisch in bestimmten Situationen wie Scatter/Gather aktiviert.

 

-ffss

TRUE oder FALSE

Standardwert: FALSE

Hinweis  

FILE_FLAG_SEQUENTIAL_SCAN wird automatisch in bestimmten Situationen aktiviert, beispielsweise bei einer serialisierten E/A.

 

-ffra

TRUE oder FALSE

Standardwert: FALSE

Hinweis  

FILE_FLAG_RANDOM_ACCESS wird automatisch in bestimmten Situationen aktiviert, beispielsweise bei einer zufälligen E/A.

 

-ffwt

TRUE oder FALSE

Standardwert: FALSE

Hinweis  

FILE_FLAG_WRITE_THROUGH wird nicht automatisch aktiviert, sofern nicht manuell angegeben.

Deaktivieren Sie das FLAGSAUTO-Flag für die unabhängige Verwaltung von Datei-Flags und Attributen.

Das FLAGSAUTO-Verhalten ändert sich in Abhängigkeit von anderen Parametern, z. B. freigegebenem Datei-Handle oder umgekehrter E/A usw.

Die FFSS- und FFRA-Flags haben keine Auswirkung, wenn das Dateisystem keine zwischengespeicherte E/A unterstützt und FFNB vom Dateisystem oder gemäß Angabe nicht unterstützt wird.

FFSS- und FFRA-Flags schließen sich gegenseitig aus und können nicht kombiniert werden, da sie sich verfehlen.

 

.bs

Blockgröße in Bytes. Sie können k, m, g, t anfügen.

Standard: 64k

-bypass

Umgeht die Wartezeit für den E/A-Schwellenwert. Dies kann entweder TRUE oder FALSE sein.

Standardwert: FALSE

-nsegments

Die Segment-Arraygröße für Scatter/Gather.

Standardwert: 16

Hinweis  

Diese Option wird automatisch in bestimmten Situationen für Scatter/Gather korrigiert.

 

-totalsleep

Die Gesamtzeit im Ruhezustand für fehlgeschlagene virtuelle Zuordnungs- oder E/A-Schwellenwertszenarien.

Standardwert: 30 Minuten

-sleepint

Die Ruhezustandsintervallschleife für fehlgeschlagene virtuelle Zuordnungsszenarien

Standardwert: 2 Minuten

-iodifferupperthreshold

Der obere Schwellenwert für die Ausgabe von E/A-Anforderungen.

Standardwert: 1000

-iodifflowerthreshold

Der untere Schwellenwert zum Fortsetzen von E/A-Anforderungen, nachdem E/A-Differenz diese Zahl unterschreitet.

Standardwert: 100

Hinweis  

Diese Option schließt sich mit dem Umgehungsmodus gegenseitig aus und wird ignoriert, wenn der Umgehungsmodus aktiviert ist.

 

-wfw

Das Writer(WFW)-Flag wartet darauf, dass WriterThreads ausgeführt werden, bevor ein Lesevorgang erfolgt. Diese Option kann entweder true oder false sein.

Standardwert: FALSE

-rr

Durch die Option für zufälliges Offset-Lesen (RR) werden ReaderThreads bei einem zufälligen Offset gestartet. Dieser Wert kann true oder false sein.

Standardwert: TRUE

.rw

Durch die Option für zufälliges Offset-Schreiben (RW) werden WriterThreads bei zufälligen Offsets gestartet. Dieser Wert kann true oder false sein.

Standardwert: FALSE

-rer

Der umgekehrte Lesevorgang vom Anfang des Offsets. Dieser Wert kann entweder 0, 1 oder 2 sein.

Standardwert: 2

-rew

Der umgekehrte Schreibvorgang vom Anfang des Offsets. Dieser Wert kann entweder 0, 1 oder 2 sein.

Standardwert: 0

Hinweis  

Für RER- und REW-Flags bedeutet 0 keine Umkehrung, 1 bedeutet direkte Umkehrung, und 2 bedeutet zufällige Umkehrung (wird nicht immer angewendet).

Bei RER- und REW-Flags kann die vollständige Datei-E/A nicht abgeschlossen sein, und die gemeldeten Statistiken und Ergebnisse sind möglicherweise ungenau.

 

-timer

Timermodus (in Sekunden). Sie können s, m, h anfügen.

Standardwert: 0

Führt E/A aus, bis der Timer abgelaufen ist.

-timerloop

Das Timer-Schleifenintervall (in Sekunden). Sie können s, m, h anfügen.

Standardwert: identisch mit der Timeroption

Hinweis  

Die Timeroption ist nur für die Ausgabe von Anforderungen vorgesehen, und die Ausführung läuft weiter (für die Ausführung kann kein Timer angewendet werden).

 

-onlineverify

Überprüft den Inhalt der Datei, nachdem Schreibanforderungen im Onlinemodus ausgegeben wurden.

Standardwert: TRUE

-offlineverify

Überprüft den Inhalt der Datei im Offlinemodus, indem der Test erneut ausgeführt wird.

Standardwert: FALSE

-allowzero4verify

Lässt zu, dass eine Null Teil der vollständigen Überprüfung ist (OFFLINE oder ONLINE).

Standardwert: FALSE

-onlyzero4verify

Lässt zu, dass eine Null Teil der vollständigen Überprüfung ist (OFFLINE oder ONLINE).

Standardwert: FALSE

-sharedfh

Ermöglicht die Verwendung desselben Dateihandles für alle E/A-Dateien.

Standardwert: FALSE

-regression

Die Regressionsvariation. Dieser Wert kann entweder - 1, - 10 oder 1001 sein (bezieht sich auf alle Variationen).

Standardwert: 0 (keine Regression)

-displayprogress

Zeigt den E/A-Fortschritt an (in Sekunden). Sie können s, m, h anfügen.

Standardwert: 2m

-fullcheck

Vollständige Überprüfung der Daten nach der Online- oder Offlineüberprüfung.

Standardwert: true

-dbgcheck

Unterbricht einen Kerneldebugger, der fehlschlägt. Dieser Wert kann true oder false sein.

Standardwert: true

-toleratesurpriseremove

Unterbricht keinen Kerneldebugger bei einem SurpriseRemove-Fehler. Dieser Wert kann true oder false sein.

Standardwert: False

-tolerrepair

Unterbricht keinen Kerneldebugger, wenn ein Reparaturfehler auftritt. Dieser Wert kann true oder false sein.

Standardwert: False

-toleratefailio

Unterbricht keinen Kerneldebugger bei einem FailIO-Fehler. Dieser Wert kann true oder false sein.

Standardwert: False

-exitonerror

Beendet den Vorgang bei einem Fehler. Dieser Wert kann true oder false sein.

Standardwert: False

Hinweis

   Geben Sie /? ein, um Befehlszeilenhilfe für diesen Test zu erhalten.

 

Dateiliste

Datei Standort

ScatterMultiThread.exe

<[testbinroot]>\NTTest\BASETEST\core_file_services\NTFS\ScatterGather\

ntlog.dll

<[osbinroot]>\NTTest\CommonTest\NtLog\

ntlogger.ini

<[osbinroot]>\NTTest\CommonTest\NtLog\

stresslog.dll

<[osbinroot]>\basetest\core_file_services\shared_libs\

fbslog.dll

<[osbinroot]>\basetest\core_file_services\shared_libs\fbslog\

 

Parameter

Parametername Parameterbeschreibung
LLU_NetAccessOnly
TEST_PATH