Compartir a través de


ScatterGather (SYSTEM)

Esta prueba valida escenarios de confiabilidad de E/S del sistema de archivos, principalmente asincrónicamente, utilizando las API ReadFile/WriteFileScatter/WriteFileGather. Las pruebas de HLK realizan variaciones de regresión automatizadas predefinidas.

Detalles de las pruebas

   
Especificaciones
  • System.Fundamentals.StorageAndBoot.BootPerformance
Plataformas
  • Windows 10, ediciones de cliente (x86)
  • Windows 10, ediciones cliente (x64)
Versiones admitidas
  • Windows 10
  • Windows 10, versión 1511
  • Windows 10, versión 1607
  • Windows 10, versión 1703
  • Windows 10, versión 1709
  • Windows 10, versión 1803
  • Windows 10, versión 1809
  • Windows 10, versión 1903
  • Siguiente actualización a Windows 10
Tiempo de ejecución esperado (en minutos) 240
Categoría Escenario
Tiempo de espera (en minutos) 14400
Requiere reinicio false
Requiere una configuración especial false
Tipo automatic

 

Documentación adicional

Las pruebas de este área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:

Ejecución de la prueba

Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de prueba de WDTF System Fundamentals.

Realiza simultáneamente E/S (escrituras y lecturas) de forma multiproceso utilizando puertos de finalización de E/S para completar la E/S. Se iniciará estableciendo inicialmente el EOF del archivo y programando los subprocesos de E/S. Mientras se escribe el archivo, realiza la comprobación en línea donde espera cero o desplazamiento del valor calculado. Una vez escrito todo el archivo, realiza una comprobación completa del archivo y producirá un error en la prueba si se encuentra cero o un valor inesperado.

Solución de problemas

Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.

Para obtener información sobre la solución de problemas, consulte Solución de problemas de pruebas básicas del sistema.

Esta prueba devuelve Pass o Fail. Para revisar los detalles de la prueba, revise el registro de pruebas de Windows Hardware Lab Kit (Windows HLK) Studio.

Más información

Modos de prueba admitidos:

Esperamos que la mayoría de los usuarios usen variaciones de regresión predefinidas.

Valor predeterminado, Regresión (variaciones predefinidas) e estrés indican determinados tipos de errores, como reintentos de asignación virtual, etc. Para el modo predeterminado, hay una marca flagsauto que administra la mayoría de los parámetros si el usuario no desea proporcionar los parámetros manualmente. Además, se admite la funcionalidad del temporizador con los modos predeterminados y de esfuerzo. Para el modo de regresión, hay una variación del temporizador predefinida.

Modos de lectura y escritura admitidos:

Modo de lectura y escritura:

  • RW( Lectura, Escritura)

  • RWG( Read, Write Gather)

  • RSW( Lectura de dispersión, escritura)

  • RSWG( Lectura de dispersión, Recopilación de escritura)

  • RRW( Lectura aleatoria, Escritura)

  • RRWG( Lectura aleatoria, Recopilación de escritura)

  • RWR( Read, Random Write)

  • RSWR( Lectura de dispersión, escritura aleatoria)

  • RRWR( Lectura aleatoria, Escritura aleatoria - Aprox. 50% dispersión/recopilación) -> Valor predeterminado

  • RRWR7( Lectura aleatoria, Escritura aleatoria - Aprox. 30% dispersión/recopilación)

  • RRWR3( Lectura aleatoria, Escritura aleatoria - Aprox. 70% dispersión/recopilación

Además, la prueba admite lectura inversa y escritura inversa.

Mecanismo de limitación de E/S:

Admite el umbral superior & inferior para las solicitudes de E/S controladas. El modo de omisión también es posible, lo que esencialmente dispara el sistema con E/S.

Patrón de datos:

Valor alfabético simple de desplazamiento calculado. Sin embargo, para la variación del temporizador, puede haber agujeros.

Modos de validación de datos:

Admite tanto en línea (validación simultánea junto con escrituras), comprobación completa (que es una vez completada toda la escritura) y modos de comprobación sin conexión. Todos estos modos se pueden desactivar o activar. Si la comprobación en línea está desactivada, básicamente solo se producen operaciones de escritura durante la fase inicial después de la cual se realizará la comprobación completa.

La diferencia entre la comprobación en línea y completa es que la comprobación completa solo se realiza una vez completadas todas las escrituras por un único subproceso mientras la comprobación en línea se realiza simultáneamente durante las escrituras y durante, durante la cual espera cero o el valor calculado de desplazamiento, a diferencia de la comprobación completa en la que solo se excluye el valor calculado de desplazamiento.

Uso de comandos

Comando Descripción

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

Realice la E/S de lectura en modo de sincronización con el tamaño de archivo predeterminado.

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

Realice la recopilación de dispersión completa, archivo de 500 m, en la ruta de prueba especificada con desplazamiento aleatorio y lectura inversa.

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

Realizar un archivo de 50 % de dispersión de recopilación de E/S de 2 GB con umbral superior e inferior de E/S

ScatterMultiThread.exe -regression -regression:6

Realice la variación de regresión predefinida 6.

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

Realizar la recopilación de dispersión en modo de esfuerzo con 2 subprocesos lector y 2 de escritura con tamaño de bloque de E/S de 100 0000/

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

Modo de temporizador ReadWrite E/S sin búfer y sin modo OnlineVerify.

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

Comprobación sin conexión de la variación anterior con la comprobación completa deshabilitada y el modo AllowZero4Verify.

 

Sintaxis de comandos

Opción de comando Descripción

ScatterMultiThread.exe

A continuación se enumeran las opciones de la línea de comandos de la prueba.

-help o /?

Muestra información de ayuda.

-Predeterminado

Ejecuta la variación predeterminada con parámetros de prueba desde la línea de comandos.

-Estrés

Modo de estrés. Reintenta los errores de asignación de memoria, etc.

-Regresión

Modo de regresión. Ejecuta el modo de regresión predefinido.

-testpath

Ruta de acceso completa al archivo.

Valor predeterminado: CWD

-Archivo

Archivo en la ruta de acceso de prueba o ruta de acceso completa al archivo.

Valor predeterminado: Scatter.dat

-Tamaño

Tamaño del archivo en bytes. También puede anexar k, m, g o t.

Valor predeterminado: 1m

-Hilos

Número de subprocesos de lector y escritor exclusivos.

Valor predeterminado: 2

-completionthreads

Número de subprocesos de finalización.

Valor predeterminado: dos veces el número de procesadores

-rwmode

Modo de lectura y escritura:

  • RW( Lectura, Escritura)

  • RWG( Read, Write Gather)

  • RSW( Lectura de dispersión, escritura)

  • RSWG( Lectura de dispersión, Recopilación de escritura)

  • RRW( Lectura aleatoria, Escritura)

  • RRWG( Lectura aleatoria, Recopilación de escritura)

  • RWR( Read, Random Write)

  • RSWR( Lectura de dispersión, escritura aleatoria)

  • RRWR( Lectura aleatoria, Escritura aleatoria- Aproximadamente 50% dispersión/recopilación):> valor predeterminado

  • RRWR7( Lectura aleatoria, Escritura aleatoria - Aproximadamente 30% de dispersión/recopilación)

  • RRWR3( Lectura aleatoria, Escritura aleatoria: aproximadamente 70% de dispersión/recopilación

-iomode

sync o async

Valor predeterminado: asincrónico

-flagsauto

TRUE o FALSE

Valor predeterminado: TRUE

Note  

Determinadas marcas de archivo se administran automáticamente en función de las situaciones

 

-ffnb

TRUE o FALSE

Valor predeterminado: FALSE

Note  

FILE_FLAG_NO_BUFFERING se activará automáticamente en determinadas situaciones, como Dispersión/Recopilación.

 

-ffss

TRUE o FALSE

Valor predeterminado: FALSE

Note  

FILE_FLAG_SEQUENTIAL_SCAN se activará automáticamente en determinadas situaciones, como la E/S serializada.

 

-ffra

TRUE o FALSE

Valor predeterminado: FALSE

Note  

FILE_FLAG_RANDOM_ACCESS se activará automáticamente en determinadas situaciones, como E/S aleatorias.

 

-ffwt

TRUE o FALSE

Valor predeterminado: FALSE

Note  

FILE_FLAG_WRITE_THROUGH no se activará automáticamente, a menos que se especifique manualmente.

Deshabilite flagSAUTO para la administración independiente de las marcas de archivo y los atributos.

El comportamiento FLAGSAUTO cambiará en función de otros parámetros, como el identificador de archivo compartido o la E/S inversa, etc.

Las marcas FFSS y FFRA no tienen ningún efecto si el sistema de archivos no admite la E/S almacenada en caché y FFNB no es compatible con el sistema de archivos ni se especifica.

Las marcas FFSS y FFRA son mutuamente excluyentes y no se pueden combinar como auto-derrotas.

 

-Bs

Tamaño de bloque en bytes. Puede anexar k, m, g, t.

Valor predeterminado: 64k

-Bypass

Omite la espera del umbral de E/S. Puede ser TRUE o FALSE.

Valor predeterminado: FALSE

-nsegments

Tamaño de la matriz de segmentos para Dispersión/Recopilación.

Valor predeterminado: 16

Note  

Esta opción se corrige automáticamente en determinadas situaciones para Dispersión/Recopilación/

 

-totalsleep

Tiempo total de suspensión para escenarios de asignación virtual o umbral de E/S con errores.

Valor predeterminado: 30 minutos.

-sleepint

Intervalo de suspensión del bucle para escenarios de asignación virtual con errores

Valor predeterminado: 2 minutos

-iodifferupperthreshold

Umbral superior para emitir solicitudes de E/S.

Valor predeterminado: 1000

-iodifflowerthreshold

El umbral inferior para reanudar la E/S solicitada después de la diferencia de E/S cae por debajo de este número.

Valor predeterminado: 100.

Note  

Esta opción es mutuamente excluyente con el modo de omisión y se omite si el modo de omisión está activado.

 

-wfw

La marca writer(WFW) espera a que WriterThreads se realice antes de que se produzca cualquier lectura. Esta opción puede ser true o false.

Valor predeterminado: FALSE

-Rr

La opción lectura de desplazamiento aleatorio (RR) hace que ReaderThreads se inicie en un desplazamiento aleatorio. Este valor puede ser true o false.

Valor predeterminado: TRUE

-Rw

La opción de escritura de desplazamiento aleatorio (RW) hace que WriterThreads se inicie en desplazamiento aleatorio. Este valor puede ser true de false.

Valor predeterminado: FALSE

-Rer

Lectura inversa desde el desplazamiento inicial. Este valor puede ser 0, 1 o 2.

Valor predeterminado: 2

-Rew

Escritura inversa desde el desplazamiento inicial. Este valor puede ser 0, 1 o 2.

Valor predeterminado: 0

Note  

En el caso de las marcas RER y REW, 0 significa ninguna reversión, 1 significa reversión recta y 2 significa inversión aleatoria (no siempre aplicada).

En el caso de las marcas RER y REW, es posible que la E/S de archivo completa no se complete y las estadísticas y los resultados notificados podrían ser inexactos.

 

-temporizador

Modo de temporizador (en segundos). Puede anexar s, m, h.

Valor predeterminado: 0

Esto realiza la E/S hasta que el temporizador haya expirado.

-timerloop

Intervalo de bucle del temporizador (en segundos). Puede anexar s, m, h.

Valor predeterminado: igual que la opción del temporizador

Note  

La opción de temporizador solo es para la emisión de solicitudes y la finalización seguirá pasando (no se aplica ningún temporizador para la finalización).

 

-onlineverify

Comprueba el contenido del archivo después de emitir solicitudes de escritura en modo en línea.

Valor predeterminado: TRUE

-offlineverify

Comprueba el contenido del archivo en modo sin conexión volviendo a ejecutar la prueba de nuevo.

Valor predeterminado: FALSE

-allowzero4verify

Permite que un cero forme parte de la comprobación completa (OFFLINE o ONLINE).

Valor predeterminado: FALSE

-onlyzero4verify

Permite que un cero forme parte de la comprobación completa (OFFLINE o ONLINE).

Valor predeterminado: FALSE

-sharedfh

Permite usar el mismo identificador de archivo para todas las E/S.

Valor predeterminado: FALSE

-Regresión

Variación de regresión. Este valor puede ser - 1 - 10 o 1001(hace referencia a todas las variaciones)

Valor predeterminado: 0 (sin regresión)

-displayprogress

Mostrar progreso de E/S (en segundos), Puede anexar s, m, h,

Valor predeterminado: 2 m

-fullcheck

Comprobación completa de los datos después de la comprobación en línea o sin conexión.

Valor predeterminado: true.

-dbgcheck

Divide en un depurador de kernel en caso de error. Este valor puede ser true o false.

Valor predeterminado: true.

-tolerasurpriseremove

No interrumpa en un depurador de kernel en un error SurpriseRemove. Este valor puede ser true o false.

Valor predeterminado: false

-tolerarepair

No interrumpa en un depurador de kernel en un error de reparación. Este valor puede ser true o false.

Valor predeterminado: false

-tolerafailio

No interrumpa en un depurador de kernel en un error de FailIO. Este valor puede ser true o false.

Valor predeterminado: false

-exitonerror

Salga de un error. Este valor puede ser true o false.

Valor predeterminado: False

Nota

   Para obtener ayuda de la línea de comandos para esta prueba, escriba /?.

 

Lista de archivos

Archivo Ubicación

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\

 

Parámetros

Nombre de parámetro Descripción de los parámetros
LLU_NetAccessOnly
TEST_PATH