Параметр воспроизведения (средство администрирования распределенного воспроизведения)
Область применения: SQL Server 2016 (13.x), SQL Server 2017 (14.x) и SQL Server 2019 (15.x)
Внимание
SQL Server распределенное воспроизведение недоступна в SQL Server 2022 (16.x).
Средство администрирования microsoft SQL Server распределенное воспроизведение, DReplay.exe, — это средство командной строки, которое можно использовать для взаимодействия с контроллером распределенного воспроизведения. В этом разделе описываются параметр командной строки replay и соответствующий синтаксис.
Параметр replay инициирует стадию воспроизведения события, на которой контроллер отправляет данные воспроизведения указанным клиентам, запускает распределенное воспроизведение и синхронизирует клиенты. При необходимости каждый клиент, участвующий в воспроизведении, может записывать последовательность воспроизведения и сохранять получившиеся файлы трассировки в локальном кэше.
Дополнительные сведения о соглашениях синтаксиса, используемых с синтаксисом средства администрирования, см . в соглашениях о синтаксисе Transact-SQL.
Синтаксис
dreplay replay [-m controller] -d controller_working_dir [-o]
[-s target_server] -w clients [-c config_file]
[-f status_interval]
Параметры
-m контроллер
Задает имя компьютера для контроллера. Локальный компьютер можно указать как «localhost
» или «.
».
Если параметр -m не задан, то используется локальный компьютер.
-d рабочий_каталог_контроллера
Указывает каталог на контроллере, где будет сохранен промежуточный файл. Параметр -d является обязательным.
К нему предъявляются следующие требования.
Каталог должен находиться на контроллере.
Необходимо указать полный путь, начиная с буквы диска (например,
c:\WorkingDir
).Путь не должен завершаться обратной косой чертой «
\
».UNC-пути не поддерживаются.
-o
Отслеживает действие воспроизведения клиента и сохраняет его в итоговом файле трассировки в каталоге, указанном элементом <ResultDirectory>
в файле конфигурации клиента DReplayClient.xml
.
Если параметр -o не задан, результирующий файл трассировки не создается. В конце воспроизведения консоль возвращает сводные данные, но остальная статистика воспроизведения недоступна.
-s целевой_сервер
Указывает целевой экземпляр SQL Server, в котором должна воспроизводиться распределенная рабочая нагрузка. Этот параметр необходимо задать в формате имя_сервера[\имя_экземпляра].
Недопустимо использовать в качестве целевого сервера "localhost
" или ".
".
Параметр -s не является обязательным, если элемент <Server>
задан в секции <ReplayOptions>
файла конфигурации воспроизведения DReplay.exe.replay.config
.
Если используется параметр -s , элемент <Server>
в секции <ReplayOptions>
файла конфигурации воспроизведения будет игнорироваться.
-w клиенты
Требуемым параметром является список с разделителями-запятыми (без пробелов), содержащий имена компьютеров клиентов, которые должны участвовать в распределенном воспроизведении. IP-адреса запрещены. Помните, что клиенты должны быть уже зарегистрированы на контроллере.
Примечание.
Каждый клиент регистрируется на контроллере, который указывается в файле конфигурации клиента при запуске службы клиента.
-c файл_конфигурации
Полный путь к файлу конфигурации воспроизведения; используется для указания расположения, если оно отличается от расположения по умолчанию.
Параметр -c не является обязательным, если будут использоваться значения по умолчанию файла конфигурации воспроизведения DReplay.exe.replay.config
.
-f status_interval
Указывает частоту (в секундах) отображения состояния.
Если параметр -f не задан, интервал по умолчанию составляет 30 секунд.
Примеры
В данном примере распределенное воспроизведение наследует большую часть своего поведения из измененного файла конфигурации воспроизведения DReplay.exe.replay.config
.
Параметр -m указывает, что в качестве контроллера выступает компьютер
controller1
. Имя компьютера нужно указывать, если служба контроллера работает на другом компьютере.Параметр -d указывает расположение промежуточного файла
c:\WorkingDir
на контроллере.Параметр -o указывает, что каждый заданный клиент регистрирует действие воспроизведения и сохраняет его в результирующем файле трассировки. Примечание. С помощью элемента
<ResultTrace>
файла конфигурации можно указать, следует ли записывать количество строк и результирующий набор.Параметр -w указывает, что компьютеры
client1
–client4
являются клиентами распределенного воспроизведения.Параметр -c указывает на измененный файл конфигурации
DReplay.exe.replay.config
.Параметр -s не является обязательным, потому что элемент
<Server>
задан в элементе<ReplayOptions>
файла конфигурации воспроизведенияDReplay.exe.replay.config
.
Этап воспроизведения событий инициируется следующим синтаксисом, когда средство администрирования запускается не на контроллере:
dreplay replay -m controller1 -d c:\WorkingDir -o -w client1,client2,client3,client4 -c c:\DReplay.exe.replay.config
Чтобы установить синхронный режим последовательного выполнения, элементу <SequencingMode>
в файле DReplay.exe.replay.config
нужно присвоить значение synchronization
. Раздел <ResultTrace>
файла конфигурации воспроизведения изменен для указания записи количества строк. Эти изменения показаны в следующем примере XML-кода:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server>server_name\replay_target_instance</Server>
<SequencingMode>synchronization</SequencingMode>
<ConnectTimeScale></ConnectTimeScale>
<ThinkTimeScale></ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Чтобы установить режим нагрузки последовательного выполнения, элементу <SequencingMode>
в файле DReplay.exe.replay.config
нужно присвоить значение stress
. Элементам <ConnectTimeScale>
и <ThinkTimeScale>
присваивается значение 50
(что означает 50 процентов). Дополнительные сведения о времени соединения и времени обработки см. в разделе Настройка распределенного воспроизведения. Эти изменения показаны в следующем примере XML-кода:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server>server_name\replay_target_instance_name</Server>
<SequencingMode>stress</SequencingMode>
<ConnectTimeScale>50</ConnectTimeScale>
<ThinkTimeScale>50</ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Разрешения
Средство администрирования должно запускаться как интерактивный пользователь, с учетной записью локального пользователя или пользователя домена. Для использования учетной записи локального пользователя средство администрирования и контроллер должны быть запущены на одном компьютере.
Дополнительные сведения см. в статье Distributed Replay Security.
См. также
- Воспроизведение данные трассировки
- Просмотр результатов воспроизведения
- Распределенное воспроизведение SQL Server
- Настройка распределенного воспроизведения
- Использование распределенного воспроизведения для нагрузочного теста SQL Server. Часть 2
- Использование распределенного воспроизведения для нагрузочного теста SQL Server. Часть 1