Используйте служебную программу SQLIOSim для имитации действий SQL Server в дисковой подсистеме

В этой статье описывается, как использовать служебную программу SQLIOSim для выполнения нагрузочных тестов в подсистемах диска для имитации действий SQL Server.

Оригинальная версия продукта: SQL Server
Исходный номер базы знаний: 231619

Введение

В этой статье описывается средство SQLIOSim. SQLIOSim можно использовать для проверки надежности и целостности дисковых подсистем, которые SQL Server использует. Эти тесты SQLIOSim имитируют операции чтения, записи, контрольной точки, резервного копирования, сортировки и чтения, которые выполняет Microsoft SQL Server. Дополнительные сведения о шаблонах ввода-вывода SQL Server см. в разделе SQL Server Основные сведения об ввода-выводах, глава 2. Служебная программа SQLIOSim выполняет это моделирование независимо от подсистемы SQL Server.

Основная цель тестов моделирования ввода-вывода — обеспечить надежность базовой подсистемы ввода-вывода до того, как SQL Server начнет использовать ее. SQLIOSim не взаимодействует с SQL Server и даже не требует выполнения SQL Server. В большинстве случаев рекомендуется использовать SQLIOSim, когда SQL Server не работает, чтобы избежать конкуренции за пропускную способность ввода-вывода между двумя приложениями. Будьте очень осторожны, чтобы не указывать и не использовать фактические файлы базы данных SQL Server в тесте SQLIOSim, так как их можно перезаписать.

Чтобы обеспечить правильную целостность данных, мы рекомендуем выполнить нагрузочные тесты подсистемы ввода-вывода перед развертыванием SQL Server на новом оборудовании. Служебная программа SQLIOSim имитирует шаблоны чтения и записи, а также методы идентификации проблем SQL Server. Для выполнения этих задач служебная программа SQLIOSim имитирует действия пользователя и системные действия SQL Server системы.

Служебная программа SQLIOSim не гарантирует и не гарантирует безопасность или целостность данных. Служебная программа предназначена для базового тестирования системной среды. Служебная программа SQLIOSim может выявить потенциальные проблемы с целостностью данных.

Дополнительные сведения о ведении журнала и хранении данных см. в разделе Описание алгоритмов ведения журнала и хранения данных, которые расширяют надежность данных в SQL Server.

Если необходимо выполнить тесты производительности и определить пропускную способность ввода-вывода в системе хранения, используйте средство Diskspd .

Служебная программа SQLIOSim заменяет служебную программу SQLIOStress, которая ранее называлась служебной программой SQL70IOStress.

Расположение SQLIOSim

Ранее SQLIOSim поставлялся как отдельный пакет для скачивания. Начиная с SQL Server 2008, SQLIOSim входит в SQL Server установку продукта. При установке SQL Server средство SQLIOSim можно найти в папке \Binn установки SQL Server. Рекомендуется использовать эту обновленную версию средства для имитации операций ввода-вывода в дисковой подсистеме.

Три файла являются частью пакета SQLIOSim. Папка \Binn содержит два исполняемых файла: SQLIOSim.com и SQLIOSim.exe. Оба исполняемых файла предоставляют одинаковые возможности моделирования операций ввода-вывода.

  • SQLIOSim.com — это средство командной строки. Его можно настроить для запуска без взаимодействия с пользователем. Для этой настройки можно использовать параметры командной строки, файл конфигурации или сочетание обоих этих методов.
  • SQLIOSim.exe — это графическое приложение, которое не принимает параметры командной строки. Однако SQLIOSim.exe загружает данные конфигурации по умолчанию из файлов конфигурации.
  • Файлы конфигурации также можно использовать для автоматизации моделирования ввода-вывода с помощью SQLIOSim. Дополнительные сведения см. в разделе Файл конфигурации SQLIOSim .

Использование SQLIOSim на компьютере без SQL Server

Перед установкой SQL Server рекомендуется использовать SQLIOSim для расширенного тестирования на компьютере. Используйте его для тестирования подсистемы ввода-вывода, в которой планируется разместить файлы данных и журналов в будущем и обеспечить надежность подсистемы ввода-вывода. Для выполнения этой задачи рекомендуется скопировать три файла SQLIOSim с компьютера, на котором установлена SQL Server, и выполнить тесты перед установкой SQL Server. Скопируйте SQLIOSim.com, SQLIOSim.exeи при необходимости один или несколько файлов конфигурации, если вы планируете использовать предварительно настроенные параметры. Затем запустите тестовую имитацию на этом компьютере.

Использование SQLIOSim

Служба SQL Server, запущенная во время выполнения SQLIOSim, не требуется. На самом деле рекомендуется не запускать SQL Server во время работы SQLIOSim, так как они могут конкурировать за ресурсы ввода-вывода.

Предупреждение

Не указывайте фактические файлы базы данных SQL Server для тестирования. Служебная программа SQLIOSim перезапишет данные с помощью шаблонов случайных тестов, и фактические SQL Server данные будут потеряны.

В следующих нескольких примерах показано, как запустить SQLIOSim с помощью графического интерфейса пользователя и командной строки.

Пример 1. Использование графического пользовательского интерфейса

  1. Перейдите в папку C:\Program Files\Microsoft SQL Server\MSSQLXX.<Имя_>экземпляра\MSSQL\Binn.

  2. Запустите приложение SQLIOSIM.EXE . Вы увидите окно Файлы и конфигурация , содержащее некоторые параметры по умолчанию. Эти параметры можно изменить в соответствии с потребностями конфигурации.

    Снимок экрана: конфигурация файла.

  3. Выделите первый многомерный файл C:\temp\sqliosim\sqliosim.mdx в списке. Этот файл эквивалентен файлу данных.

  4. Измените параметры файла, изменив его расположение, размер, максимальный размер или приращение. Не используйте флажок Файл журнала , так как вы хотите имитировать файл данных. Затем нажмите кнопку Применить .

    Снимок экрана: конфигурация файла данных.

    В примере показано, что расположение файла изменено на D:\temp\sqliosim\sqliosim.mdx, его размер равен 2048 МБ, максимальный размер — 4096 МБ, а размер приращения — 64 МБ.

  5. Измените второй файл с помощью суффикса ldx . Этот файл представляет собой эквивалент файла журнала транзакций. Убедитесь, что флажок Файл журнала включен. По завершении нажмите кнопку Применить .

    Снимок экрана: конфигурация файла журнала.

  6. Вы можете добавить дополнительные файлы в список, выбрав параметр Создать файл в центре экрана внутри табличной сетки. Выбрав Новый файл, вы можете ввести расположение файла и выбрать остальные параметры. Не забудьте нажать кнопку Применить. Пример:

    Снимок экрана: добавление нового тестового файла.

  7. Когда вы будете удовлетворены конфигурацией, нажмите кнопку ОК .

  8. Выберите Симулятор>начать , чтобы запустить имитацию операций ввода-вывода SQL. Кроме того, можно выбрать клавишу F12 или левую кнопку с зеленым кружком внутри.

    Снимок экрана: выполняющийся SQLIOSim.

  9. Дождитесь завершения моделирования и изучите выходные данные.

Пример 2. Использование средства командной строки и файла конфигурации

  1. Измените файлsqliosim.default.cfg.ini , удалив комментарии к разделам File1 и File2 и изменив FileName значения на новые файлы SQLIOSim. Например:

    [File1]
    FileName=D:\sqliosim\sqliosim.mdx
    InitialSize=100
    MaxSize=200
    Increment=10
    Shrinkable=TRUE
    LogFile=FALSE
    Sparse=FALSE
    
    [File2]
    FileName=L:\sqliosim\sqliosim.ldx
    InitialSize=50
    MaxSize=50
    Increment=0
    Shrinkable=FALSE
    LogFile=TRUE
    Sparse=FALSE
    
  2. Запустите SQLIOSIM.COM с помощью файла конфигурации C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

Пример 3. Использование программы командной строки с параметрами

С помощью -dir параметра можно одновременно протестировать несколько томов диска. В следующем примере создаются файлы размером 500 МБ и выполняется тест в течение 300 секунд (пять минут).

SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosim\sqliosim.log.xml -dir "D:\sqliosim" -dir "F:\sqliosim\testfolder" -size 500 -d 300

Пример 4. Использование программы командной строки для нескольких дисков

В следующем примере создается файл размером 32 ГБ и выполняется тест в течение 600 секунд (10 минут) с помощью файла конфигурации sqliosim.hwcache.cfg.ini .

SQLIOSIM.COM -cfg "D:\Temp\SQLIOSIM\SQLIOSIM_Configs\sqliosim.hwcache.cfg.ini" -d 600 -dir D:\temp\sqliosim -log D:\temp\sqliosim\simlog.xml -size 32768

SQLIOSim.com параметры командной строки

SQLIOSIM.COM принимает ограниченное количество параметров командной строки для управления базовым поведением. Файл конфигурации для служебной программы SQLIOSim обеспечивает расширенное управление поведением. Если параметры командной строки и параметры файла конфигурации перекрываются, приоритет имеют параметры командной строки.

Параметр Комментарий
-cfgФайл Переопределите файл конфигурацииSqliosim.cfg.iniпо умолчанию. Служебная программа SQLIOSim возвращает ошибку, если служебная программа не может найти файл.
-saveФайл Сохраните итоговую конфигурацию в файле конфигурации. Этот параметр можно использовать для создания начального файла конфигурации.
-logФайл Укажите имя файла журнала ошибок и путь к файлу журнала ошибок. Имя файла по умолчанию —Sqliosim.log.xml.
-dirDir Задайте расположение для создания файла данных (.mdf) и файла журнала (LDF). Эту команду можно выполнить несколько раз. В большинстве случаев это расположение является корневым каталогом диска или точкой подключения тома. Это может быть длинный путь или UNC-путь.
-dСекунд Задайте длительность выполнения main. Это значение исключает этап подготовки и этап проверки.
-sizeМБ Задайте начальный размер файла данных в мегабайтах (МБ). Размер файла может увеличиться до двух раз. Размер файла журнала вычисляется как половина размера файла данных. Однако размер файла журнала не может превышать 50 МБ.

Файл конфигурации SQLIOSim

Вы можете использовать файл конфигурации с SQLIOSim, чтобы выбрать все параметры для имитации ввода-вывода. Этот файл конфигурации может помочь в автоматизации выполнения SQLIOSim.

Примеры файлов конфигурации для различных тестов можно скачать из репозитория GitHub группы поддержки SQL Server.

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

  • Используйте параметры командной строки в файле SQLIOSIM.COM .
  • После запуска файла SQLIOSim.exe используйте диалоговое окно Файлы и конфигурация.
  • Используйте раздел Файл<N> файла конфигурации.

Примеры файлов конфигурации

Если вы хотите использовать их для автоматизированных запусков SQLIOSim, доступны пять примеров файлов конфигурации.

Пример файла Описание Параметры, отличающиеся от файла конфигурации по умолчанию
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini — свертывание операций чтения

— Файлы делаются небольшими, чтобы сохранить их полностью в памяти.

— нет последовательных операций чтения
Для раздела AuditUser и для раздела ReadAheadUser :

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini — отмена регулирования ввода-вывода

— сведите к минимуму время ожидания увеличения объема операций ввода-вывода.
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini — свертывание операций чтения

— Файлы делаются небольшими, чтобы сохранить их полностью в памяти.

— Файлы не сжимаются.

— нет последовательных операций чтения

— нет случайного доступа.

— массовое обновление большими блоками без задержек
Shrinkable=FALSE

Для разделов AuditUser, ReadAheadUser и RandomUser :

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini — Использование только 32 МБ памяти

— Сделайте целевую длительность операций ввода-вывода достаточно большой, чтобы включить множество невыполненных запросов ввода-вывода.

— отключение API-интерфейсов точечной и сборной для выдачи отдельных запросов ввода-вывода для каждой страницы размером 8 КБ.

— Создание файла размером 1 ГБ без сжатия

— Создание дополнительного разреженного потока размером 1 ГБ в файле
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE

[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE

[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE

[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

Предупреждения о значениях параметров

  • Если имя параметра указывает, что параметр является отношением или процентом, значение параметра выражается в виде процента или отношения, делимого на 0,01. Например, значение CacheHitRatio параметра равно 10 percent. Это значение выражается как , так как 1000 значение 10, разделенное на 0,01, 1000равно . Максимальное значение параметра в процентах — 10000.
  • Если тип параметра является числовым и параметру присваивается нечисловое значение, служебная программа SQLIOSim задает параметру значение 0.
  • Если параметр имеет Booleanтип , допустимыми значениями, которые можно присвоить параметру, являются true и false. Кроме того, в значениях учитывается регистр. Служебная программа SQLIOSim игнорирует любые недопустимые значения.
  • Если пара параметров указывает минимальное и максимальное значение, минимальное значение не должно превышать максимальное значение. Например, значение MinIOChainLength параметра не должно быть больше значения MaxIOChainLength параметра.
  • Если параметр указывает количество страниц, служебная программа SQLIOSim проверяет значение, присвоенное параметру, по отношению к файлу, который обрабатывает программа SQLIOSim. Служебная программа SQLIOSim выполняет эту проверка, чтобы количество страниц не превышало размер файла.

Разделы файла конфигурации

В файле конфигурации есть несколько разделов:

Каждый из этих разделов описан в следующем разделе.

Раздел CONFIG

Служебная программа SQLIOSim принимает значения, указанные в разделе CONFIG файла конфигурации SQLIOSim, для определения поведения глобального тестирования.

Параметр Значение по умолчанию Описание Comments
ErrorFile sqliosim.log.xml Имя файла журнала типа XML
CPUCount Количество ЦП на компьютере Количество создаваемых логических ЦП Максимальное число — 64 ЦП.
Affinity 0 Физическая маска сопоставления ЦП, применяемая для логических ЦП Маска сходства должна находиться в активной маске ЦП. Значение 0 означает, что будут использоваться все доступные ЦП.
MaxMemoryMB Доступная физическая память при запуске служебной программы SQLIOSim Размер буферного пула в МБ Значение не может превышать общий объем физической памяти на компьютере.
StopOnError true Останавливает симуляцию при возникновении первой ошибки
TestCycles 1 Количество полных циклов тестирования для выполнения Значение 0 указывает бесконечное количество циклов тестирования.
TestCycleDuration 300 Длительность тестового цикла в секундах, за исключением прохождения аудита в конце цикла
CacheHitRatio 1000 Смоделированное коэффициент попадания в кэш, когда служебная программа SQLIOSim считывает данные с диска
MaxOutstandingIO 0 Максимальное число невыполненных операций ввода-вывода, разрешенных для всего процесса Значение не может превышать 140 000. Значение 0 означает, что разрешено около 140 000 операций ввода-вывода. Это ограничение служебной программы.
TargetIODuration 100 Длительность операций ввода-вывода в миллисекундах, на которую нацелено регулирование Если средняя длительность операций ввода-вывода превышает целевую длительность операций ввода-вывода, служебная программа SQLIOSim регулирует количество невыполненных операций ввода-вывода, чтобы уменьшить нагрузку и увеличить время выполнения операций ввода-вывода.
AllowIOBursts true Разрешить отключение регулирования для отправки большого количества запросов ввода-вывода Пики ввода-вывода включаются во время начального обновления, начальной контрольной точки и последнего прохода контрольных точек в конце тестовых циклов. Параметр MaxOutstandingIO по-прежнему учитывается. Вы можете ожидать длительных предупреждений ввода-вывода.
NoBuffering true FILE_FLAG_NO_BUFFERING Используйте параметр SQL Server открывает файлы базы данных с помощью FILE_FLAG_NO_BUFFERING == true. Некоторые служебные программы и службы, такие как службы Analysis Services, используют FILE_FLAG_NO_BUFFERING == false. Чтобы полностью протестировать сервер, выполните один тест для каждого параметра.
WriteThrough true FILE_FLAG_WRITE_THROUGH Используйте параметр SQL Server открывает файлы базы данных с помощью FILE_FLAG_WRITE_THROUGH == true. Однако некоторые служебные программы и службы открывают файлы базы данных с помощью FILE_FLAG_WRITE_THROUGH == false. Например, SQL Server Analysis Services открывает файлы базы данных с помощью FILE_FLAG_WRITE_THROUGH == false. Чтобы полностью протестировать сервер, выполните один тест для каждого параметра.
ScatterGather true Использование ReadScatter API или WriteGather Если для этого параметра задано значение true, параметр NoBuffering также имеет значение true.

SQL Server использует точечную и сборную ввода-вывода для большинства запросов ввода-вывода.
ForceReadAhead true Выполнение операции чтения с опережением, даже если данные уже считываются Служебная программа SQLIOSim выдает команду чтения, даже если страница данных уже находится в буферном пуле.

Служба поддержки Microsoft SQL Server успешно использует параметр true для устранения проблем ввода-вывода.
DeleteFilesAtStartup true Удаление файлов при запуске, если файлы существуют Файл может содержать несколько потоков данных. В файле усекаются только потоки, указанные в File <N> FileName записи. Если указан поток по умолчанию, все потоки удаляются.
DeleteFilesAtShutdown false Удаление файлов после завершения теста Файл может содержать несколько потоков данных. В файле усекаются только потоки данных, указанные в File <N> FileName записи. Если указан поток данных по умолчанию, служебная программа SQLIOSim удаляет все потоки данных.
StampFiles false Развертывание файла путем пометки нулей Этот процесс может занять много времени, если файл имеет большой размер. Если для этого параметра задано значение false, служебная программа SQLIOSim расширяет файл, устанавливая допустимый маркер данных.

SQL Server 2005 использует функцию мгновенной инициализации файлов для файлов данных. Если файл данных является файлом журнала или если мгновенная инициализация файла не включена, SQL Server выполняет нулевую метку. Версии SQL Server, более ранние, чем SQL Server 2000, всегда выполняют нулевых меток.

Во время тестирования необходимо переключить значение StampFiles параметра, чтобы убедиться, что мгновенная инициализация файла и нулевое метка работают правильно.

Раздел файла<N>

Служебная программа SQLIOSim предназначена для тестирования нескольких файлов. Раздел File<N> представлен как [File1], [File2] для каждого файла в тесте.

Параметр Значение по умолчанию Описание Comments
FileName Нет значения по умолчанию Имя и путь к файлу Параметр FileName может быть длинным или UNC-путем. Он также может включать имя и тип вторичного потока. Например, FileName параметру может быть присвоено значение file.mdf:stream2.

ПРИМЕЧАНИЕ В SQL Server 2005 г. операции DBCC используют потоки. Рекомендуется выполнять потоковые тесты.
InitialSize Нет значения по умолчанию Начальный размер в МБ Если существующий файл больше значения, указанного InitialSize для параметра, служебная программа SQLIOSim не сжимает существующий файл. Если существующий файл меньше, служебная программа SQLIOSim расширяет существующий файл.
MaxSize Нет значения по умолчанию Максимальный размер в МБ Размер файла не может превышать значение, указанное MaxSize для параметра .
Increment 0 Размер в МБ приращения, на который увеличивается или сжимается файл. Дополнительные сведения см. в ShrinkUser разделе этой статьи. Служебная программа SQLIOSim настраивает Increment параметр при запуске таким образом, чтобы была установлена ситуация: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Если значение Increment равно 0, служебная программа SQLIOSim задает файл как не сжимаемый.
Shrinkable false Указывает, можно ли сжать или развернуть файл. Если для параметра задано Increment значение 0, файл должен быть не сжимаемым. В этом случае необходимо задать для Shrinkable параметра значение false. Если для параметра задано Increment значение, отличное 0от , то задается сжатие файла. В этом случае необходимо задать для Shrinkable параметра значение true.
Sparse false Указывает, следует ли задать атрибут Sparse для файлов. Для существующих файлов служебная программа SQLIOSim не очищает атрибут Sparse, если для параметра задано Sparse значение false.

SQL Server 2005 использует разреженные файлы для поддержки snapshot баз данных и вторичных потоков DBCC.

Рекомендуется включить как разреженный файл, так и потоки, а затем выполнить тестовый проход.

ПРИМЕЧАНИЕ Если заданы Sparse = true параметры файла, не указывайте NoBuffering = false в config разделе . При использовании этих двух конфликтующих сочетаний может возникнуть ошибка, похожая на следующую:

Ошибка:-=====Error: 0x80070467
Текст ошибки. При доступе к жесткому диску операция на диске завершилась сбоем даже после повторных попыток.
Описание: сбой проверки буфера на странице C:\SQLIOSim.mdx: 28097
LogFile false Указывает, содержит ли файл данные пользователя или журнала транзакций. Необходимо определить по крайней мере один файл журнала.

Раздел RandomUser

Служебная программа SQLIOSim принимает значения, указанные в RandomUser разделе, для имитации SQL Server рабочей роли, выполняющей случайные операции запроса, например шаблоны ввода-вывода в режиме обработки транзакций (OLTP).

Параметр Значение по умолчанию Описание Comments
UserCount –1 Количество потоков случайного доступа, которые выполняются одновременно Значение не может превышать значение : CPUCount*1023-100.
Общее число всех пользователей также не может превышать это значение. Значение нуля (0) означает, что вы не можете создавать пользователей случайного доступа. Значение -1 означает, что необходимо использовать автоматическую конфигурацию значения: min(CPUCount*2, 8).
ПРИМЕЧАНИЕ Система SQL Server может содержать тысячи сеансов. Большинство сеансов не имеют активных запросов. Используйте функцию count(*) в запросах к динамическому sys.dm_exec_requests административному представлению (DMV) в качестве базового плана для установки этого тестового значения параметра.

CPUCount здесь ссылается на значение CPUCount параметра в CONFIG разделе .

Значение min(CPUCount*2, 8) приводит к меньшему значению между CPUCount*2 и 8.
JumpToNewRegionPercentage 500 Вероятность перехода к новой области файла Начало региона выбирается случайным образом. Размер области является случайным значением между значением MinIOChainLength параметра и значением MaxIOChainLength параметра.
MinIOChainLength 1 Минимальный размер региона на страницах
MaxIOChainLength 100 Максимальный размер региона на страницах SQL Server 2005 выпуск Enterprise и SQL Server 2000 выпуск Enterprise могут прочитать до 1024 страниц.

Минимальное значение — 0. Максимальное значение ограничено системной памятью.

Как правило, случайные действия пользователей вызывают небольшие операции сканирования. Используйте значения, указанные в разделе , ReadAheadUser для имитации больших операций сканирования.
RandomUserReadWriteRatio 9000 Процент обновляемых страниц Цепочка случайной длины выбирается в регионе и может считываться. Этот параметр определяет процент обновляемых и записываемых на диск страниц.
MinLogPerBuffer 64 Минимальный размер записи журнала в байтах Значение должно быть равным размеру сектора на диске или размеру, который равномерно соответствует размеру сектора на диске.
MaxLogPerBuffer 8192 Максимальный размер записи журнала в байтах Это значение не может превышать 64 000. Значение должно быть кратным размеру сектора на диске.
RollbackChance 100 Вероятность того, что произойдет операция в памяти, которая вызовет операцию отката. При выполнении этой операции отката SQL Server не записывает данные в файл журнала.
SleepAfter 5 Время спящего режима после каждого цикла в миллисекундах

Раздел AuditUser

Служебная программа SQLIOSim принимает значения, указанные в AuditUser разделе, для имитации действий DBCC для чтения и аудита сведений о странице. Проверка выполняется, даже если для параметра задано значение UserCount0.

Параметр Значение по умолчанию Описание Comments
UserCount 2 Количество потоков аудита Значение не может превышать следующее значение: CPUCount*1023-100.
Общее число всех пользователей также не может превышать это значение. Значение 0 означает, что вы не можете создавать пользователей случайного доступа. Значение -1 означает, что необходимо использовать автоматическую конфигурацию значения: min(CPUCount*2, 8).
ПРИМЕЧАНИЕ Система SQL Server может содержать тысячи сеансов. Большинство сеансов не имеют активных запросов. Используйте функцию count(*) в запросах к динамическому административному sys.dm_exec_requests представлению в качестве базового плана для установки этого тестового значения параметра.

CPUCount здесь ссылается на значение CPUCount параметра в CONFIG разделе .

Значение min(CPUCount*2, 8) приводит к меньшему значению между CPUCount*2 и 8.
BuffersValidated 64
DelayAfterCycles 2 Применение параметра AuditDelay после завершения количества циклов BuffersValidated
AuditDelay 200 Количество миллисекундах, ожидаемых после каждой DelayAfterCycles операции

Раздел ReadAheadUser

Служебная программа SQLIOSim принимает значения, указанные ReadAheadUser в разделе, чтобы имитировать SQL Server действия перед чтением. SQL Server использует преимущества операций с опережением чтения для максимального увеличения возможностей асинхронного ввода-вывода и ограничения задержек запросов.

Параметр Значение по умолчанию Описание Comments
UserCount 2 Количество потоков с опережающей операцией чтения Значение не может превышать следующее значение: CPUCount*1023-100.
Общее число всех пользователей также не может превышать это значение. Значение 0 означает, что вы не можете создавать пользователей случайного доступа. Значение -1 означает, что необходимо использовать автоматическую конфигурацию следующего значения: min(CPUCount*2, 8).
ПРИМЕЧАНИЕ Система SQL Server может содержать тысячи сеансов. Большинство сеансов не имеют активных запросов. Используйте функцию count(*) в запросах к динамическому административному sys.dm_exec_requests представлению в качестве базового плана для установки этого тестового значения параметра.

CPUCount здесь ссылается на значение CPUCount параметра в разделе CONFIG.

Значение min(CPUCount*2, 8) приводит к меньшему значению между CPUCount*2 и 8.
BuffersRAMin 32 Минимальное количество страниц для чтения за цикл Минимальное значение — 0. Максимальное значение ограничено системной памятью.
BuffersRAMax 64 Максимальное число страниц для чтения за цикл SQL Server Enterprise выпуски могут считывать до 1024 страниц в одном запросе. Если вы устанавливаете SQL Server на компьютере с большим объемом ресурсов ЦП, памяти и диска, рекомендуется увеличить размер файла и размер перед чтением.
DelayAfterCycles 2 RADelay Применение параметра после завершения указанного количества циклов
RADelay 200 Количество миллисекундах, ожидаемых после каждой DelayAfterCycles операции

Раздел BulkUpdateUser

Служебная программа SQLIOSim принимает значения, указанные в BulkUpdateUser разделе, для имитации массовых операций, таких как SELECT...INTO операции и BULK INSERT операции.

Параметр Значение по умолчанию Описание Comments
UserCount –1 Количество BULK UPDATE потоков Значение не может превышать следующее значение: CPUCount*1023-100
Значение -1 означает, что необходимо использовать автоматическую конфигурацию следующего значения: min(CPUCount*2, 8).
ПРИМЕЧАНИЕ Система SQL Server может содержать тысячи сеансов. Большинство сеансов не имеют активных запросов. Используйте функцию count(*) в запросах к динамическому административному sys.dm_exec_requests представлению в качестве базового плана для установки этого тестового значения параметра.

CPUCount здесь ссылается на значение CPUCount параметра в CONFIG разделе .

Значение min(CPUCount*2, 8) приводит к меньшему значению между CPUCount*2 и 8.
BuffersBUMin 64 Минимальное количество страниц для обновления за цикл
BuffersBUMax 128 Максимальное количество страниц для обновления за цикл Минимальное значение — 0. Максимальное значение ограничено системной памятью.
DelayAfterCycles 2 BUDelay Применение параметра после завершения указанного количества циклов
BUDelay 10 Количество миллисекундах, ожидаемых после каждой DelayAfterCycles операции

ShrinkUser section

Служебная программа SQLIOSim принимает значения, указанные в разделе, для имитации ShrinkUser операций сжатия DBCC. Служебная программа SQLIOSim также может использовать ShrinkUser раздел для увеличения размера файла.

Параметр Значение по умолчанию Описание
MinShrinkInterval 120 Минимальный интервал между операциями сжатия в секундах
MaxShrinkInterval 600 Максимальный интервал между операциями сжатия в секундах
MinExtends 1 Минимальное количество приращений, на которые программа SQLIOSim будет увеличивать или сжимать файл
MaxExtends 20 Максимальное число приращений, на которое программа SQLIOSim будет увеличивать или сжимать файл

Примечания к файлу конфигурации .ini

Символ с запятой (;) в начале строки в файле конфигурации.ini приводит к тому, что строка обрабатывается как один комментарий.

Создание файла

Служебная программа SQLIOSim создает отдельные файлы данных и файлы журналов для имитации шаблонов ввода-вывода, которые SQL Server создаются в файле данных и файле журнала. Служебная программа SQLIOSim не использует подсистему SQL Server для выполнения стрессовых действий. Поэтому перед установкой SQL Server можно использовать служебную программу SQLIOSim.

При запуске программы SQLIOSim убедитесь, что вы указываете то же расположение файла, которое используется для файлов базы данных SQL Server. При этом служебная программа имитирует тот же путь ввода-вывода, что и база данных SQL Server.

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

По умолчанию служебная программа SQLIOSim создает тестовые файлы с расширениями MDX и LDX . Таким образом, эти файлы не будут перезаписывать существующие файлы данных и журналов.

Предупреждение

Не указывайте фактические файлы базы данных SQL Server для тестирования. Служебная программа SQLIOSim перезапишет данные с помощью шаблонов случайных тестов, и фактические SQL Server данные будут потеряны.

Журнал ошибок и обработка ошибок SQLIOSim

Служебная программа SQLIOSim создает файл журнала ошибок в одном из следующих расположений:

  • Расположение, указанное в параметре запуска журнала
  • Расположение, указанное в строке ErrorFile= файла Sqliosim.cfg.ini

Журнал ошибок SQLIOSim.log.xml содержит сведения о выполнении. Эти сведения включают сведения об ошибке. Внимательно просмотрите журнал на наличие сведений об ошибках и предупреждений.

Примечание.

При возникновении ошибки в служебной программе SQLIOSim рекомендуется обратиться к производителю оборудования с просьбой определить первопричину проблемы. Проблема также может быть вызвана драйвером устройства, драйвером фильтра файловой системы (например, антивирусной защитой) или ОПЕРАЦИОННОй системой.

Несколько копий

Служебная программа SQLIOSim поддерживает тестирование на уровне нескольких файлов и тестирование на уровне нескольких пользователей. Служебная программа SQLIOSim не требует нескольких вызовов. Можно запустить несколько копий служебной программы SQLIOSim, если выполняются следующие условия:

  • Все копии ссылались на уникальные тестовые файлы для каждого экземпляра служебной программы.
  • Параметр MaxMemoryMB каждого экземпляра предоставляет неперекрывающийся регион памяти, достаточный для каждого экземпляра.

Сумма параметра для каждого экземпляра MaxMemoryMB должна быть меньше или равна общему объему физической памяти. Некоторые этапы тестирования, например имитация контрольных точек, могут быть ресурсоемкими и могут создавать условия нехватки памяти при выполнении нескольких копий. При возникновении ошибок нехватки памяти можно уменьшить количество запущенных служебных копий.

Ссылки