Поделиться через


Использование служебной программы 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. Использование графического интерфейса

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

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

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

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

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

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

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

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

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

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

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

  7. После удовлетворения конфигурации нажмите кнопку "ОК ".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметр Комментарий
-cfg file Переопределите файл конфигурации Sqliosim.cfg.ini по умолчанию. Служебная программа SQLIOSim возвращает ошибку, если программа не может найти файл.
-save file Сохраните полученную конфигурацию в файле конфигурации. Этот параметр можно использовать для создания исходного файла конфигурации.
-log file Укажите имя файла журнала ошибок и путь к файлу журнала ошибок. Имя файла по умолчанию — Sqliosim.log.xml.
-dirdir Задайте расположение для создания файла данных (.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

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

Ссылки