Использование служебной программы 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
При запуске SQLIOSim не требуется служба SQL Server. На самом деле мы рекомендуем не запускать SQL Server во время выполнения SQLIOSim, так как они могут конкурировать за ресурсы ввода-вывода.
Предупреждение
Не указывайте фактические файлы базы данных SQL Server для тестирования. Служебная программа SQLIOSim перезаписывает данные с помощью случайных шаблонов тестов, а фактические данные SQL Server будут потеряны.
В следующих нескольких примерах показано, как запустить SQLIOSim с помощью графического интерфейса и командной строки.
Пример 1. Использование графического интерфейса
Перейдите в раздел C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\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 file |
Переопределите файл конфигурации Sqliosim.cfg.ini по умолчанию. Служебная программа SQLIOSim возвращает ошибку, если программа не может найти файл. |
-save file |
Сохраните полученную конфигурацию в файле конфигурации. Этот параметр можно использовать для создания исходного файла конфигурации. |
-log file |
Укажите имя файла журнала ошибок и путь к файлу журнала ошибок. Имя файла по умолчанию — Sqliosim.log.xml. |
-dir dir |
Задайте расположение для создания файла данных (.mdf) и файла журнала (LDF). Эту команду можно выполнять несколько раз. В большинстве случаев это расположение является корнем диска или точкой подключения тома. Это расположение может быть длинным или UNC-путем. |
-d секунд |
Задайте длительность основного запуска. Это значение исключает этап подготовки и этап проверки. |
-size МБ |
Задайте начальный размер файла данных в мегабайтах (МБ). Файл может увеличиться до двух раз, чем начальный размер. Размер файла журнала вычисляется как половина размера файла данных. Однако размер файла журнала не может превышать 50 МБ. |
Файл конфигурации SQLIOSim
Вы можете использовать файл конфигурации с SQLIOSim, чтобы выбрать все параметры для имитации ввода-вывода заранее. Этот файл конфигурации может помочь в автоматизации выполнения SQLIOSim.
Примеры файлов конфигурации для различных тестов можно скачать из репозитория GitHub группы поддержки SQL Server.
Вам не нужно использовать файл конфигурации. Если вы не используете файл конфигурации, все параметры принимают значения по умолчанию, кроме расположения файла данных и расположения файла журнала. Чтобы указать расположение файла данных и расположение файла журнала, необходимо использовать один из следующих методов:
- Используйте параметры командной строки в файле SQLIOSIM.COM .
- Используйте диалоговое окно "Файлы и конфигурация" после запуска файла SQLIOSim.exe .
- Используйте раздел "Файл<N>" файла конфигурации.
Примеры файлов конфигурации
Пять примеров файлов конфигурации доступны, если вы хотите использовать их для автоматизированных запусков SQLIOSim.
Образец файла | Description | Параметры, отличающиеся от файла конфигурации по умолчанию |
---|---|---|
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 разделено1000
на 0,01 равно. Максимальное значение процентного параметра равно10000
. - Если тип параметра является числовым, и вы назначаете нечисленное значение параметру, служебная программа SQLIOSim задает для параметра значение
0
. - Если тип параметра имеет значение
Boolean
, допустимые значения, которые можно назначить параметру, иtrue
false
. Кроме того, значения чувствительны к регистру. Служебная программа SQLIOSim игнорирует недопустимые значения. - Если пара параметров указывает минимальное и максимальное значение, минимальное значение не должно превышать максимальное значение. Например, значение
MinIOChainLength
параметра не должно быть больше значенияMaxIOChainLength
параметра. - Если параметр указывает несколько страниц, программа SQLIOSim проверяет значение, которое вы назначаете параметру в файле, который обрабатывает служебная программа SQLIOSim. Служебная программа SQLIOSim выполняет эту проверку, чтобы убедиться, что количество страниц не превышает размер файла.
Разделы файла конфигурации
В файле конфигурации есть несколько разделов:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [Файл<N>] (заполнитель
<N>
является числом)
Каждый из этих разделов описан в следующем разделе.
Раздел CONFIG
Служебная программа SQLIOSim принимает значения, указанные в разделе конфигурации CONFIG файла конфигурации SQLIOSim, чтобы установить глобальное поведение тестирования.
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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 использует точечную обработку и сбор операций ввода-вывода для большинства запросов ввода-вывода. |
ForceReadAhead |
true | Выполнение операции чтения перед чтением, даже если данные уже считываются | Служебная программа SQLIOSim выдает команду чтения, даже если страница данных уже находится в буферном пуле. Поддержка Microsoft SQL Server успешно использовала истинный параметр для предоставления проблем ввода-вывода. |
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]
для каждого файла в тесте.
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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 | Указывает, следует ли задать атрибут Разрежений в файлах. | Для существующих файлов служебная программа SQLIOSim не очищает атрибут Разреженного при установке 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).
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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 для чтения и аудита сведений о странице. Проверка возникает, даже если задано 0
значение UserCount
параметра.
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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 использует преимущества операций перед чтением, чтобы максимально увеличить возможности асинхронного ввода-вывода и ограничить задержки запросов.
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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
операции.
Параметр | Значение по умолчанию | Description | Комментарии |
---|---|---|---|
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
раздел для увеличения файла.
Параметр | Значение по умолчанию | Description |
---|---|---|
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 создает тестовые файлы с расширениями многомерных выражений и LDX-файлов. Поэтому эти файлы не перезаписывают существующие файлы данных и журналов.
Предупреждение
Не указывайте фактические файлы базы данных SQL Server для тестирования. Служебная программа SQLIOSim перезаписывает данные с помощью случайных шаблонов тестов, а фактические данные SQL Server будут потеряны.
Журнал ошибок SQLIOSim и обработка
Служебная программа SQLIOSim создает файл журнала ошибок в одном из следующих расположений:
- Расположение, указанное в параметре запуска журнала
- Расположение, указанное в строке
ErrorFile=
в файле Sqliosim.cfg.ini
Журнал ошибок SQLIOSim.log.xml содержит сведения о выполнении. Эти сведения включают сведения об ошибке. Внимательно просмотрите журнал для сведений об ошибках и предупреждениях.
Примечание.
При возникновении ошибки в служебной программе SQLIOSim рекомендуется попросить производителя оборудования определить первопричину проблемы. Проблема также может быть вызвана драйвером устройства, драйвером фильтра файловой системы (например, антивирусом) или ОС.
Несколько копий
Служебная программа SQLIOSim обеспечивает тестирование на уровне нескольких файлов и тестирование на уровне нескольких пользователей. Для служебной программы SQLIOSim не требуется несколько вызовов. Можно запустить несколько копий служебной программы SQLIOSim, если выполняются следующие условия:
- Все копии ссылают на уникальные файлы тестирования на экземпляр служебной программы.
- Параметр
MaxMemoryMB
каждого экземпляра предоставляет не перекрывающийся регион памяти, достаточный для каждого экземпляра.
Сумма параметра для каждого экземпляра MaxMemoryMB
должна быть меньше или равна общей физической памяти. Некоторые этапы тестирования, такие как моделирование контрольных точек, могут быть интенсивными в памяти и могут создавать условия вне памяти при выполнении нескольких копий. При возникновении ошибок вне памяти можно уменьшить количество выполняемых служебных копий.