Используйте служебную программу 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. Использование графического пользовательского интерфейса
Перейдите в папку C:\Program Files\Microsoft SQL Server\MSSQLXX.<Имя_>экземпляра\MSSQL\Binn.
Запустите приложение SQLIOSIM.EXE . Вы увидите окно Файлы и конфигурация , содержащее некоторые параметры по умолчанию. Эти параметры можно изменить в соответствии с потребностями конфигурации.
Выделите первый многомерный файл C:\temp\sqliosim\sqliosim.mdx в списке. Этот файл эквивалентен файлу данных.
Измените параметры файла, изменив его расположение, размер, максимальный размер или приращение. Не используйте флажок Файл журнала , так как вы хотите имитировать файл данных. Затем нажмите кнопку Применить .
В примере показано, что расположение файла изменено на D:\temp\sqliosim\sqliosim.mdx, его размер равен 2048 МБ, максимальный размер — 4096 МБ, а размер приращения — 64 МБ.
Измените второй файл с помощью суффикса ldx . Этот файл представляет собой эквивалент файла журнала транзакций. Убедитесь, что флажок Файл журнала включен. По завершении нажмите кнопку Применить .
Вы можете добавить дополнительные файлы в список, выбрав параметр Создать файл в центре экрана внутри табличной сетки. Выбрав Новый файл, вы можете ввести расположение файла и выбрать остальные параметры. Не забудьте нажать кнопку Применить. Пример:
Когда вы будете удовлетворены конфигурацией, нажмите кнопку ОК .
Выберите Симулятор>начать , чтобы запустить имитацию операций ввода-вывода SQL. Кроме того, можно выбрать клавишу F12 или левую кнопку с зеленым кружком внутри.
Дождитесь завершения моделирования и изучите выходные данные.
Пример 2. Использование средства командной строки и файла конфигурации
Измените файл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
Запустите 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
Секунд |
Задайте длительность выполнения 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]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[Файл<N>] (заполнитель
<N>
— число)
Каждый из этих разделов описан в следующем разделе.
Раздел 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 для чтения и аудита сведений о странице. Проверка выполняется, даже если для параметра задано значение UserCount
0
.
Параметр | Значение по умолчанию | Описание | 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
должна быть меньше или равна общему объему физической памяти. Некоторые этапы тестирования, например имитация контрольных точек, могут быть ресурсоемкими и могут создавать условия нехватки памяти при выполнении нескольких копий. При возникновении ошибок нехватки памяти можно уменьшить количество запущенных служебных копий.