ScatterGather (SYSTEM)

Этот тест проверяет сценарии надежности операций ввода-вывода файловой системы, в первую очередь асинхронно, используя API ReadFile/WriteFileScatter/WriteFileGather. Тесты HLK выполняет предопределенные варианты автоматической регрессии.

Сведения о тесте

   
Спецификации
  • System.Fundamentals. служба хранилища AndBoot.BootPerformance
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 240
Категория Сценарий
Время ожидания (в минутах) 14 400
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, настройку и устранение неполадок, которые можно найти в следующих разделах:

Выполнение теста

Перед выполнением теста завершите настройку теста, как описано в требованиях к тесту: предварительные требования для тестирования WDTF System Basics Testing.

Одновременно выполняет операции ввода-вывода (операции записи и чтения) в многопотоковом режиме, использующим порты завершения ввода-вывода для завершения операций ввода-вывода. Он начинается с первоначального задания EOF файла и планирования потоков ввода-вывода. Хотя файл записывается, он выполняет онлайн-проверку, в которой ожидается нулевое или смещение вычисляемого значения. После записи всего файла он выполняет полную проверку файла и завершится сбоем теста при обнаружении нуля или неожиданного значения.

Устранение неполадок

Общие сведения об устранении неполадок тестов HLK см. в разделе "Устранение неполадок тестов Windows HLK".

Сведения об устранении неполадок см. в разделе "Устранение неполадок с системными основами тестирования".

Этот тест возвращает значение Pass или Fail. Чтобы просмотреть сведения о тесте, ознакомьтесь с журналом тестирования из Студии оборудования Windows (Windows HLK).

Дополнительные сведения

Поддерживаемые режимы тестирования:

Мы ожидаем, что большинство пользователей будут использовать предопределенные варианты регрессии.

По умолчанию регрессия (предопределенные варианты) и стресс указывают на определенные типы сбоев, таких как повторные попытки виртуальных объектов и т. д. Для режима по умолчанию имеется флаг flagsauto, который управляет большинством параметров, если пользователь не хочет предоставлять параметры вручную. Кроме того , функция таймера поддерживается с режимами нагрузки по умолчанию и стрессом. Для режима регрессии существует предварительно определенный вариант таймера.

Поддерживаемые режимы чтения и записи:

Режим чтения и записи:

  • RW( чтение, запись)

  • RWG(чтение, сбор записей)

  • RSW( точечная, запись)

  • RSWG(чтение точечная, сборная записей)

  • RRW( случайное чтение, запись)

  • RRWG (случайное чтение, сбор записей)

  • RWR(чтение, случайное запись)

  • RSWR(чтение точечной, случайной записи)

  • RRWR(случайное чтение, случайное запись — приблизительно 50% точечная/сборная) —> по умолчанию

  • RRWR7(случайное чтение, случайное запись - около 30% точечной/сборной)

  • RRWR3( случайное чтение, случайное запись — примерно 70 % точечная/сборная

Кроме того, тест поддерживает обратную чтение и обратную запись.

Механизм регулирования ввода-вывода:

Поддерживает верхний и нижний порог для управляемых запросов ввода-вывода. Режим обхода также возможен, который, по сути, взрывает систему с помощью ввода-вывода.

Шаблон данных:

Простое вычисленное алфавитное значение смещения. Для вариантов таймера есть отверстия хотя.

Режимы проверки данных:

Поддерживает режимы одновременной проверки (одновременной проверки вместе с записью), полной проверка (которая после завершения всех операций записи) и автономных режимов проверки подлинности. Все эти режимы можно отключить или включить. Если онлайн-проверка отключена, по сути, только записи происходят на начальном этапе, после которого будет выполнено полное проверка.

Разница между Online и Full проверка заключается в том, что полная проверка выполняется только после завершения всех операций записи одним потоком, а проверка в сети выполняется одновременно во время записи и во время, в течение которой ожидается нулевое или смещение вычисляемого значения, в отличие от полного проверка где оно только за исключением смещения вычисляемого значения.

Использование команд

Команда Description

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

Выполнение операций ввода-вывода записи в режиме синхронизации с размером файла по умолчанию.

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

Выполните полный файл точечной сборки, 500 млн, в тестовом пути, указанном со случайным смещением и обратным чтением.

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

Выполнение 50% точечной сборки файла ввода-вывода 2 ГБ с верхним и нижним пороговым значением ввода-вывода

ScatterMultiThread.exe -регрессия -регрессия:6

Выполните предварительно определенный вариант регрессии 6.

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

Выполните точечную сборку в стрессовом режиме с 2 потоками чтения и 2 потока записи с размером блока ввода-вывода размером 100k/

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

Режим таймера ReadWrite Unbuffered ввода-вывода и нет режима OnlineVerify.

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

Автономная проверка приведенного выше варианта с полным проверка отключенным и режимом AllowZero4Verify.

 

Синтаксис команд

Параметр команды Description

ScatterMultiThread.exe

Ниже перечислены параметры командной строки для теста.

-help или /?

Вывод справки.

-По умолчанию

Выполняет вариант по умолчанию с параметрами теста из командной строки.

-Стресс

Режим стресса. Повторяет ошибки выделения памяти и т. д.

-Регрессии

Режим регрессии. Запускает предопределенный режим регрессии.

-testpath

Полный путь к файлу.

Значение по умолчанию: CWD

-Файл

Файл в тестовом пути или полный путь к файлу.

Значение по умолчанию: Scatter.dat

-filesize

Размер файла в байтах. Можно также добавить k, m, g или t.

Значение по умолчанию: 1 млн

-Потоков

Количество потоков эксклюзивного чтения и записи.

Значение по умолчанию: 2

-completionthreads

Количество потоков завершения.

Значение по умолчанию: в два раза больше процессоров

-rwmode

Режим чтения и записи:

  • RW( чтение, запись)

  • RWG(чтение, сбор записей)

  • RSW( точечная, запись)

  • RSWG(чтение точечная, сборная записей)

  • RRW( случайное чтение, запись)

  • RRWG (случайное чтение, сбор записей)

  • RWR(чтение, случайное запись)

  • RSWR(чтение точечной, случайной записи)

  • RRWR(случайное чтение, случайное запись — приблизительно 50% точечная/сборная) —> по умолчанию

  • RRWR7(случайное чтение, случайное запись — примерно 30% точечная/сборная)

  • RRWR3( случайное чтение, случайное запись — приблизительно 70% точечная/сборная

-iomode

синхронизация или асинхронная синхронизация

Значение по умолчанию: асинхронное

-flagsauto

TRUE или FALSE

Значение по умолчанию: TRUE

Примечание  

Некоторые флаги файлов автоматически управляются в зависимости от ситуаций

 

-ffnb

TRUE или FALSE

Значение по умолчанию: FALSE

Примечание  

FILE_FLAG_NO_BUFFERING автоматически включается в определенных ситуациях, таких как точечная или сборная.

 

-ffss

TRUE или FALSE

Значение по умолчанию: FALSE

Примечание  

FILE_FLAG_SEQUENTIAL_SCAN автоматически включается в некоторых ситуациях, таких как сериализованный ввод-вывод.

 

-ffra

TRUE или FALSE

Значение по умолчанию: FALSE

Примечание  

FILE_FLAG_RANDOM_ACCESS автоматически включается в определенных ситуациях, таких как случайный ввод-вывод.

 

-ffwt

TRUE или FALSE

Значение по умолчанию: FALSE

Примечание  

FILE_FLAG_WRITE_THROUGH не будет включен автоматически, если не указано вручную.

Отключите флаг FLAGSAUTO для независимого управления флагами и атрибутами файлов.

Поведение FLAGSAUTO изменится в зависимости от других параметров, таких как общий дескриптор файлов или обратный ввод-вывод и т. д.

Флаги FFSS и FFRA не влияют, если файловая система не поддерживает кэшированные операции ввода-вывода и FFNB, не поддерживается файловой системой или указанной.

Флаги FFSS и FFRA являются взаимоисключающими и не могут быть объединены, так как это саморазрушение.

 

-B

Размер блока в байтах. Можно добавить k, m, g, t.

Значение по умолчанию: 64k

-Обхода

Проходит пороговое значение ввода-вывода. Это может быть значение TRUE или FALSE.

Значение по умолчанию: FALSE

-nsegments

Размер массива сегментов для точечной или сборной.

Значение по умолчанию: 16

Примечание  

Этот параметр автоматически исправляется в определенных ситуациях для точечной или сборной/

 

-totalsleep

Общее время спящего режима для неудачных сценариев виртуального выделения или порогового значения ввода-вывода.

Значение по умолчанию: 30 минут

-sleepint

Интервал спящего цикла для сценариев сбоем виртуального выделения

Значение по умолчанию: 2 минуты

-iodifferupperthreshold

Верхний порог для выдачи запросов ввода-вывода.

Значение по умолчанию: 1000

-iodifflowerthreshold

Нижнее пороговое значение для возобновления ввода-вывода, запрошенного после ввода-вывода, ниже этого числа.

Значение по умолчанию: 100

Примечание  

Этот параметр является взаимоисключающим с режимом обхода и игнорируется, если режим обхода включен.

 

-Wfw

Флаг записи (WFW) ожидает завершения записи. Этот параметр может иметь значение true или false.

Значение по умолчанию: FALSE

-Rr

Параметр считывания случайного смещения (RR) делает средство ReaderThreads начинается со случайного смещения. Это значение может иметь значение true или false.

Значение по умолчанию: TRUE

-Rw

Параметр записи случайного смещения (RW) делает writeThreads начинаться с случайного смещения. Это значение может иметь значение false.

Значение по умолчанию: FALSE

-Rer

Обратное чтение от начального смещения. Это значение может иметь значение 0, 1 или 2.

Значение по умолчанию: 2

-rew

Обратная запись от начального смещения. Это значение может иметь значение 0, 1 или 2.

Значение по умолчанию: 0

Примечание  

Для флагов RER и REW 0 не означает разворот, 1 означает прямой разворот, а 2 означает случайный разворот (не всегда применяется).

Для флагов RER и REW полный ввод-вывод файлов может не завершиться, а статистика и результаты могут быть неточными.

 

-Таймер

Режим таймера (в секундах). Можно добавить s, m, h.

Значение по умолчанию: 0

Это выполняет операции ввода-вывода до истечения срока действия таймера.

-timerloop

Интервал цикла таймера (в секундах). Можно добавить s, m, h.

Значение по умолчанию: то же, что и параметр таймера

Примечание  

Параметр таймера предназначен только для выдачи запросов, и завершение по-прежнему будет проходить (таймер не применяется для завершения).

 

-onlineverify

Проверяет содержимое файла после выдачи запросов на запись в интерактивном режиме.

Значение по умолчанию: TRUE

-offlineverify

Проверяет содержимое файла в автономном режиме, повторно выполнив тест.

Значение по умолчанию: FALSE

-allowzero4verify

Позволяет нулю быть частью полной проверки (OFFLINE или ONLINE).

Значение по умолчанию: FALSE

-onlyzero4verify

Позволяет нулю быть частью полной проверки (АВТОНОМНО или ONLINE).

Значение по умолчанию: FALSE

-sharedfh

Позволяет использовать один и тот же дескриптор файлов для всех операций ввода-вывода.

Значение по умолчанию: FALSE

-Регрессии

Вариант регрессии. Это значение может быть либо - 1 – 10, либо 1001(относится ко всем вариантам).

Значение по умолчанию: 0 (без регрессии)

-displayprogress

Отображение хода ввода-вывода (в секундах), можно добавить s, m, h,

Значение по умолчанию: 2 млн

-full проверка

Полная проверка данных после проверки в сети или в автономном режиме.

Значение по умолчанию: true

-dbg проверка

Прерывается в отладчик ядра при сбое. Это значение может иметь значение true или false.

Значение по умолчанию: true

-toleratesurpriseremove

Не прерывайте отладчик ядра при сбое SurpriseRemove. Это значение может иметь значение true или false.

Значение по умолчанию: false

-toleraterepair

Не прерывайте отладчик ядра при сбое восстановления. Это значение может иметь значение true или false.

Значение по умолчанию: false

-toleratefailio

Не прерывайте отладчик ядра при сбое FailIO. Это значение может иметь значение true или false.

Значение по умолчанию: false

-exitonerror

Выход из строя. Это значение может иметь значение true или false.

Значение по умолчанию: False

Примечание.

   Для справки командной строки для этого теста введите /?.

 

Список файлов

Файл Местонахождение

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\

 

Параметры

Наименование параметра Описание параметра
LLU_NetAccessOnly
TEST_PATH