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

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

Summary

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

Общие сведения о SQLIOSim

SQLIOSim имитирует шаблоны чтения и записи (чтение страниц, контрольная точка, резервное копирование, сортировка, чтение с упреждением) в системе SQL Server, чтобы выявить потенциальные проблемы ввода/вывода. Основной целью тестов моделирования ввода-вывода является проверка надежности базовой подсистемы ввода-вывода перед началом использования SQL Server. Дополнительные сведения о принципах ввода-вывода SQL Server см. в разделе SQL Server основы ввода-вывода.

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

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

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

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

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

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

Tip

Запустите SQLIOSim в каждой новой конфигурации хранилища перед развертыванием рабочей среды. Это тестирование помогает убедиться, что система учитывает семантику порядка записи и сброса, даже если присутствуют уровни кэширования. К таким уровням относятся кэш контроллера, буферизация встроенного ПО и оптимизация SAN.

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

SQLIOSim ранее был доступен в виде отдельного пакета загрузки. Начиная с версии Microsoft 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

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

Руководство по использованию SQLIOSim

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

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

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

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

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

  1. Перейдите в раздел C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

  2. Запустите приложение SQLIOSIM.EXE.

  3. Просмотрите окно "Файлы и конфигурация " для параметров по умолчанию, которые можно изменить в соответствии с потребностями конфигурации.

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

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

  5. Измените параметры файла, например расположение файлов, размер, максимальный размер или увеличение. Оставьте флажок "Файл журнала ", так как вы хотите имитировать файл данных. Затем нажмите кнопку "Применить".

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

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

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

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

  7. Добавьте дополнительные файлы в список, выбрав параметр "Создать файл " в центре экрана в табличной сетке. Введите расположение файла и задайте остальные параметры. После завершения нажмите кнопку "Применить". Приведем пример.

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

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

  9. Чтобы запустить имитацию ввода-вывода SQL, выберите "Запуск симулятора>". Кроме того, нажмите клавишу F12 или левую кнопку, содержащую зеленый круг.

    Снимок экрана с запущенным SQLIOSim.

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

Пример 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.
-dir Dir Задайте расположение для создания файла данных (.mdf) и файла журнала (LDF). Эту команду можно выполнять несколько раз. В большинстве случаев это место является корнем диска или точкой монтирования тома. Это расположение может представлять собой длинный путь или UNC-путь.
-d секунд Задайте длительность основного запуска. Это значение исключает этап подготовки и этап проверки.
-size МБ Задайте начальный размер файла данных в мегабайтах (МБ). Файл может увеличиться до двух раз, чем начальный размер. Размер файла журнала вычисляется как половина размера файла данных. Однако размер файла журнала не может превышать 50 МБ.

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

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

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

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

  • Используйте параметры командной строки в файле 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 scatter/gather для выдачи отдельных запросов ввода-вывода для каждой 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.
  • Если тип параметра является логическим, допустимые значения, которые можно назначить параметру: true и false. Кроме того, значения чувствительны к регистру. Средство SQLIOSim игнорирует недопустимые значения.
  • Если пара параметров указывает минимальное и максимальное значение, минимальное значение не должно превышать максимальное значение. Например, значение MinIOChainLength параметра не должно быть больше значения MaxIOChainLength параметра.
  • Если параметр указывает несколько страниц, средство SQLIOSim проверяет значение, которое назначается параметру в файле, который обрабатывает средство SQLIOSim. Средство SQLIOSim выполняет эту проверку, чтобы убедиться, что количество страниц не превышает размер файла.

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

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

Каждый раздел конфигурации описан в следующем разделе.

Раздел CONFIG

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

Параметр Значение по умолчанию Описание Комментарии
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 или WriteGather API Если параметр true установлен, параметр NoBuffering также устанавливается в true.

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

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

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

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

Раздел "Файл<N">

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

Параметр Значение по умолчанию Описание Комментарии
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 Указывает, может ли файл быть сжат или развернут Если для параметра задано Increment0значение, то файл будет не сжимаемым. В этом случае необходимо установить значение false для параметра Shrinkable. Если вы установите значение параметра Increment, отличное от 0, вы сделаете файл доступным для сжатия. В этом случае необходимо установить параметр Shrinkable в значение true.
Sparse false Указывает, следует ли атрибут Sparse установить на файлы. Для существующих файлов средство SQLIOSim не очищает атрибут Sparse, если параметр Sparse установлен в значение false.

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

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

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

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

Раздел RandomUser

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

Параметр Значение по умолчанию Описание Комментарии
UserCount -1 Число потоков случайного доступа, выполняющихся одновременно Значение не может превышать значение: CPUCount*1023-100
Общее число всех пользователей также не может превышать это значение. Значение нуля (0) означает, что нельзя создавать пользователей случайного доступа. Значение -1 означает, что необходимо использовать автоматическую конфигурацию значения: min(CPUCount*2, 8)
NOTE система 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 для чтения и аудита сведений о странице. Проверка проводится, даже если значение параметра UserCount задано 0.

Параметр Значение по умолчанию Описание Комментарии
UserCount 2 Количество потоков аудита Значение не может превышать следующее значение: CPUCount*1023-100
Общее число всех пользователей также не может превышать это значение. Значение 0 означает, что нельзя создавать пользователей случайного доступа. Значение -1 означает, что необходимо использовать автоматическую конфигурацию значения: min(CPUCount*2, 8)
NOTE Система 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 использует возможности предварительного чтения, чтобы максимально увеличить возможности асинхронного ввода-вывода и ограничить задержки запросов.

Параметр Значение по умолчанию Описание Комментарии
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.

Параметр Значение по умолчанию Описание Комментарии
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

Средство 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, не указывайте фактические файлы базы данных SQL Server для тестирования. Средство SQLIOSim перезаписывает данные с помощью шаблонов случайных тестов.

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

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

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

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

Примечание.

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

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

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

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

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