Параметр воспроизведения (средство администрирования распределенного воспроизведения)
Область применения: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 Distributed Replay, 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
.
-fstatus_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