Condividi tramite


ScatterGather (SYSTEM)

Questo test convalida gli scenari di affidabilità di I/O del file system, principalmente in modo asincrono, usando le API ReadFile/WriteFileScatter/WriteFileGather. I test HLK esercitano variazioni di regressione automatizzate predefinite.

Dettagli del test

   
Specifiche
  • System.Fundamentals. Archiviazione AndBoot.BootPerformance
Piattaforme
  • Windows 10, edizioni client (x86)
  • Windows 10, edizioni client (x64)
Versioni supportate
  • Windows 10
  • Windows 10, versione 1511
  • Windows 10 versione 1607
  • Windows 10, versione 1703
  • Windows 10 versione 1709
  • Windows 10 versione 1803
  • Windows 10, versione 1809
  • Windows 10, versione 1903
  • Aggiornamento successivo a Windows 10
Tempo di esecuzione previsto (in minuti) 240
Categoria Scenario
Timeout (in minuti) 14400
Richiede il riavvio false
Richiede una configurazione speciale false
Type automatic

 

Documentazione aggiuntiva

I test in questa area di funzionalità potrebbero avere documentazione aggiuntiva, inclusi prerequisiti, configurazione e informazioni sulla risoluzione dei problemi, disponibili negli argomenti seguenti:

Esecuzione del test

Prima di eseguire il test, completare l'installazione dei test come descritto nei requisiti di test: Prerequisiti di test fondamentali del sistema WDTF.

Esegue simultaneamente operazioni di I/O (sia di scrittura che di lettura) in modo multithreading usando le porte di completamento di I/O per completare l'I/O. Inizierà impostando inizialmente l'EOF del file e pianificando i thread di I/O. Mentre il file è in fase di scrittura, esegue la verifica online in cui prevede zero o offset valore calcolato. Dopo aver scritto l'intero file, esegue la verifica completa del file e avrà esito negativo se viene rilevato zero o un valore imprevisto.

Risoluzione dei problemi

Per la risoluzione dei problemi generici degli errori di test HLK, vedere Risoluzione dei problemi relativi agli errori di test di Windows HLK.

Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi ai test fondamentali del sistema.

Questo test restituisce Pass o Fail. Per esaminare i dettagli dei test, esaminare il log di test da Windows Hardware Lab Kit (Windows HLK) Studio.

Altre informazioni

Modalità di test supportate:

La maggior parte degli utenti prevede l'uso di varianti di regressione predefinite.

Default, Regression (varianti predefinite) e stress indicano determinati tipi di errori, ad esempio tentativi di allocazione virtuale e così via. Per la modalità predefinita, è presente un flag flagsauto che gestisce la maggior parte dei parametri se l'utente non vuole fornire manualmente i parametri. Inoltre , la funzionalità timer è supportata con le modalità predefinite e di stress. Per la modalità di regressione, è presente una variante del timer predefinita.

Modalità di lettura/scrittura supportate:

Modalità lettura/scrittura:

  • 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( Lettura casuale, Scrittura casuale - Circa il 50% a dispersione/raccolta) -> Impostazione predefinita

  • RRWR7( Lettura casuale, Scrittura casuale - Circa il 30% a dispersione/raccolta)

  • RRWR3( Lettura casuale, Scrittura casuale - Circa il 70% a dispersione/raccolta

Inoltre, il test supporta la lettura inversa e la scrittura inversa.

Meccanismo di limitazione delle richieste di I/O:

Supporta la soglia superiore e inferiore per le richieste di I/O controllate. La modalità bypass è anche possibile che esegue essenzialmente l'esplosione del sistema con I/O.

Modello di dati:

Valore alfabetico calcolato con offset semplice. Per la variazione del timer, tuttavia, possono esserci fori.

Modalità di convalida dei dati:

Supporta sia online (convalida simultanea insieme alle scritture), controllo completo (dopo il completamento di tutte le modalità di scrittura) sia modalità di verifica offline. Tutte queste modalità possono essere disattivate/attivate. Se la verifica online è disattivata, essenzialmente solo le scritture vengono eseguite durante la fase iniziale dopo la quale verrà eseguito il controllo completo.

La differenza tra Online e Controllo completo è che il controllo completo viene eseguito solo dopo che tutte le scritture vengono completate da un singolo thread mentre la verifica online viene eseguita simultaneamente durante le scritture e durante la quale prevede zero o valore calcolato offset, a differenza del controllo completo, dove solo tranne il valore calcolato offset.

Utilizzo dei comandi

Comando Descrizione

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

Eseguire operazioni di I/O di lettura scrittura in modalità di sincronizzazione con dimensioni predefinite del file.

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

Eseguire full Scatter Gather, file 500m, nel percorso di test specificato con offset casuale e lettura inversa.

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

Eseguire il 50% del file di raccolta di I/O da 2 GB con soglia superiore e inferiore

ScatterMultiThread.exe -regression -regression:6

Eseguire la variante di regressione predefinita 6.

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

Eseguire la raccolta a dispersione in modalità stress con 2 thread di lettura e 2 writer con dimensioni del blocco di I/O pari a 100.000//

ScatterMultiThread.exe -default -FILE:timer.dat -timer:19s -FILESIZE:5g -ONLINEVERIFY:FAL edizione Standard

Modalità timer ReadWrite I/O non memorizzato nel buffer e nessuna modalità OnlineVerify.

ScatterMultiThread.exe -default -OFFLINEVERIFY -FILE:timer.dat -FULLCHECK:FAL edizione Standard -ALLOWZERO4VERIFY

Verifica offline della variante precedente con controllo completo disabilitato e modalità AllowZero4Verify.

 

Sintassi dei comandi

Opzione di comando Descrizione

ScatterMultiThread.exe

Di seguito sono elencate le opzioni della riga di comando per il test.

-help o /?

Visualizza la Guida.

-Predefinito

Esegue la variante predefinita con parametri di test dalla riga di comando.

-Stress

Modalità stress. Riprovare gli errori di allocazione della memoria e così via.

-Regressione

Modalità di regressione. Esegue la modalità di regressione predefinita.

-testpath

Percorso completo del file.

Valore predefinito: CWD

-File

File nel percorso di test o nel percorso completo del file.

Valore predefinito: Scatter.dat

-Dimensione

Dimensioni del file in byte. È anche possibile aggiungere k, m, g o t.

Valore predefinito: 1m

-Discussioni

Numero di thread di lettura e scrittura esclusivi.

Valore predefinito: 2

-completionthreads

Numero di thread di completamento.

Valore predefinito: due volte il numero di processori

-rwmode

Modalità di lettura/scrittura:

  • 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( Lettura casuale, Scrittura casuale - Circa il 50% a dispersione/raccolta) -> Impostazione predefinita

  • RRWR7( lettura casuale, scrittura casuale - Circa il 30% a dispersione/raccolta)

  • RRWR3( Lettura casuale, Scrittura casuale - Circa il 70% a dispersione/raccolta

-iomode

sincronizzazione o asincrona

Valore predefinito: asincrono

-flagsauto

TRUE o FALSE

Valore predefinito: TRUE

Nota  

Alcuni flag di file vengono gestiti automaticamente in base alle situazioni

 

-ffnb

TRUE o FALSE

Valore predefinito: FAL edizione Standard

Nota  

FILE_FLAG_NO_BUFFERING verrà attivato automaticamente in determinate situazioni, ad esempio Scatter/Gather.

 

-ffss

TRUE o FALSE

Valore predefinito: FAL edizione Standard

Nota  

FILE_FLAG_edizione StandardQUENTIAL_SCAN verrà attivato automaticamente in determinate situazioni, ad esempio I/O serializzate.

 

-ffra

TRUE o FALSE

Valore predefinito: FAL edizione Standard

Nota  

FILE_FLAG_RANDOM_ACCESS verrà attivato automaticamente in determinate situazioni, ad esempio operazioni di I/O casuali.

 

-ffwt

TRUE o FALSE

Valore predefinito: FAL edizione Standard

Nota  

FILE_FLAG_WRITE_THROUGH non verrà attivato automaticamente, a meno che non venga specificato manualmente.

Disabilitare il flag FLAGSAUTO per la gestione indipendente dei flag di file e degli attributi.

Il comportamento FLAGSAUTO cambierà a seconda di altri parametri, ad esempio l'handle di file condiviso o l'I/O inverso e così via.

I flag FFSS e FFRA non hanno alcun effetto se il file system non supporta le operazioni di I/O memorizzate nella cache e FFNB non è supportato dal file system o specificato.

I flag FFSS e FFRA si escludono a vicenda e non possono essere combinati come se stessi.

 

-bs

Dimensioni blocco in byte. È possibile aggiungere k, m, g, t.

Impostazione predefinita: 64k

-Bypass

Ignora l'attesa della soglia di I/O. Può trattarsi di TRUE o FAL edizione Standard.

Valore predefinito: FAL edizione Standard

-nsegments

Dimensioni della matrice di segmenti per Scatter/Gather.

Valore predefinito: 16

Nota  

Questa opzione viene corretta automaticamente in determinate situazioni per Scatter/Gather/

 

-totalsleep

Tempo totale di sospensione per scenari di allocazione virtuale non riuscita o soglia di I/O.

Valore predefinito: 30 minuti

-sleepint

Intervallo di sospensione del ciclo per scenari di allocazione virtuale non riusciti

Valore predefinito: 2 minuti

-iodifferupperthreshold

Soglia superiore per l'emissione di richieste di I/O.

Valore predefinito: 1000

-iodifflowerthreshold

La soglia inferiore per riprendere le operazioni di I/O richieste dopo la diff di I/O scende al di sotto di questo numero.

Valore predefinito: 100

Nota  

Questa opzione si escludono a vicenda con la modalità bypass e viene ignorata se la modalità bypass è attivata.

 

-Wfw

Il flag writer(WFW) attende che WriterThreads venga eseguito prima che si verifichi qualsiasi lettura. Questa opzione può essere true o false.

Valore predefinito: FAL edizione Standard

-Rr

L'opzione RR (Random Offset Read) rende ReaderThreads inizia in corrispondenza di un offset casuale. Questo valore può essere true o false.

Valore predefinito: TRUE

-Rw

L'opzione di scrittura offset casuale (RW) rende WriterThreads inizia in corrispondenza dell'offset casuale. Questo valore può essere true di false.

Valore predefinito: FAL edizione Standard

-Rer

Lettura inversa dall'offset iniziale. Questo valore può essere 0, 1 o 2.

Valore predefinito: 2

-Rew

Scrittura inversa dall'offset iniziale. Questo valore può essere 0, 1 o 2.

Valore predefinito: 0

Nota  

Per i flag RER e REW, 0 significa nessuna inversione, 1 significa inversione retta e 2 significa inversione casuale (non sempre applicata).

Per i flag RER e REW, l'I/O completo del file potrebbe non essere completo e le statistiche e i risultati segnalati potrebbero non essere accurati.

 

-Timer

Modalità timer (in secondi). È possibile aggiungere s, m, h.

Valore predefinito: 0

Questa operazione esegue operazioni di I/O fino alla scadenza del timer.

-timerloop

Intervallo del ciclo timer (in secondi). È possibile aggiungere s, m, h.

Valore predefinito: uguale all'opzione timer

Nota  

L'opzione timer è solo per l'emissione di richieste e il completamento continuerà a essere eseguito (non è applicabile alcun timer per il completamento).

 

-onlineverify

Verifica il contenuto del file dopo l'emissione di richieste di scrittura in modalità online.

Valore predefinito: TRUE

-offlineverify

Verifica il contenuto del file in modalità offline eseguendo nuovamente il test.

Valore predefinito: FAL edizione Standard

-allowzero4verify

Consente a zero di far parte della verifica completa (OFFLINE o ONLINE).

Valore predefinito: FAL edizione Standard

-onlyzero4verify

Consente a zero di far parte della verifica completa (OFFLINE o ONLINE).

Valore predefinito: FAL edizione Standard

-sharedfh

Consente di usare lo stesso handle di file per tutte le operazioni di I/O.

Valore predefinito: FAL edizione Standard

-Regressione

Variazione della regressione. Questo valore può essere - 1 - 10 o 1001(fa riferimento a tutte le varianti)

Valore predefinito: 0 (nessuna regressione)

-displayprogress

Visualizzare lo stato di I/O (in secondi), è possibile aggiungere s, m, h,

Valore predefinito: 2m

-fullcheck

Verifica completa dei dati dopo la verifica online o offline.

Valore predefinito: vero

-dbgcheck

Si interrompe in un debugger del kernel in caso di errore. Questo valore può essere true o false.

Valore predefinito: vero

-tolleraresurpriseremove

Non eseguire l'interruzione in un debugger del kernel in un errore SurpriseRemove. Questo valore può essere true o false.

Valore predefinito: false

-tollerarerepair

Non eseguire l'interruzione in un debugger del kernel in caso di errore di ripristino. Questo valore può essere true o false.

Valore predefinito: false

-tollerafailio

Non eseguire l'interruzione in un debugger del kernel in caso di errore FailIO. Questo valore può essere true o false.

Valore predefinito: false

-exitonerror

Uscire in caso di errore. Questo valore può essere true o false.

Valore predefinito: False

Nota

   Per la Guida della riga di comando per questo test, digitare /?.

 

Elenco file

file Ufficio

ScatterMultiThread.exe

<[testbinroot]>\NTTest\BA edizione Standard TEST\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\

 

Parametri

Nome parametro Descrizione del parametro
LLU_NetAccessOnly
TEST_PATH