Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот тест проверяет сценарии надежности операций ввода-вывода файловой системы, в первую очередь асинхронно, используя API ReadFile/WriteFileScatter/WriteFileGather. Тесты HLK выполняет предопределенные варианты автоматической регрессии.
Сведения о тесте
| Спецификации |
|
| Платформы |
|
| Поддерживаемые выпуски |
|
| Ожидаемое время выполнения (в минутах) | 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 |
Режим чтения и записи:
|
-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 |