Option Wiedergabe (Verwaltungstool Distributed Replay)
Das Microsoft SQL Server Distributed Replay-Verwaltungstool ist DReplay.exe
ein Befehlszeilentool, mit dem Sie mit dem verteilten Wiedergabecontroller kommunizieren können. In diesem Thema werden die replay -Befehlszeilenoption und die entsprechende Syntax beschrieben.
Die replay -Option initiiert die Ereigniswiedergabephase, in der der Controller Wiedergabedaten an die angegebenen Clients weiterleitet, die verteilte Wiedergabe startet und die Clients synchronisiert. Optional kann jeder Client, der an der Wiedergabe teilnimmt, die Wiedergabeaktivität aufzeichnen und eine Ergebnisdatei der Ablaufverfolgung lokal speichern.
Weitere Informationen zu den Syntaxkonventionen, die mit der Syntax des Verwaltungstools verwendet werden, finden Sie unter Transact-SQL Syntax Conventions (Transact-SQL).
Syntax
dreplay replay [-mcontroller] -dcontroller_working_dir [-o]
[-starget_server] -wclients [-cconfig_file]
[-fstatus_interval]
Parameter
-m-Controller Gibt den Computernamen des Controllers an. Sie können mit "localhost
" oder ".
" auf den lokalen Computer verweisen.
Wenn der -m -Parameter nicht angegeben ist, wird der lokale Computer verwendet.
-d controller_working_dir Gibt das Verzeichnis auf dem Controller an, in dem die Zwischendatei gespeichert wird. Der -d -Parameter ist erforderlich.
Es gelten die folgenden Anforderungen:
Das Verzeichnis muss sich auf dem Controller befinden.
Sie müssen den vollständigen Pfad angeben, der mit einem Laufwerkbuchstaben beginnen muss (z. B.
c:\WorkingDir
).Der Pfad darf nicht mit einem umgekehrten Schrägstrich ("
\
") enden.UNC-Pfade werden nicht unterstützt.
-o Erfasst die Replay-Aktivität des Clients und speichert sie in einer Ergebnisablaufverfolgungsdatei im Pfad, der durch das <ResultDirectory>
Element in der Clientkonfigurationsdatei angegeben wird. DReplayClient.xml
Wenn der -o -Parameter nicht angegeben wird, wird die Ergebnisdatei der Ablaufverfolgung nicht generiert. Die Konsolenausgabe gibt am Ende der Wiedergabe Zusammenfassungsinformationen zurück, es sind jedoch keine weiteren Wiedergabestatistiken verfügbar.
-s target_server Gibt die Zielinstanz von SQL Server an, für die die verteilte Workload wiedergegeben werden soll. Sie müssen diesen Parameter im folgenden Format angeben: server_name[\instance name] .
Sie können den Zielserver nicht mit "localhost
" oder ".
" angeben.
Der -s -Parameter ist nicht erforderlich, wenn das <Server>
-Element im <ReplayOptions>
-Abschnitt der Wiedergabekonfigurationsdatei DReplay.exe.replay.config
angegeben wird.
Wenn der -s -Parameter verwendet wird, wird das <Server>
-Element im <ReplayOptions>
-Abschnitt der Wiedergabekonfigurationsdatei ignoriert.
-w-Clients Dieser erforderliche Parameter ist eine durch Trennzeichen getrennte Liste (ohne Leerzeichen), die die Computernamen von Clients angibt, die an der verteilten Wiedergabe teilnehmen sollen. IP-Adressen sind nicht zulässig. Beachten Sie, dass die Clients bereits beim Controller registriert sein müssen.
Hinweis
Jeder Client wird beim Starten des Clientdiensts bei dem Controller registriert, der in der Clientkonfigurationsdatei angegeben ist.
-c config_file Ist der vollständige Pfad der Wiedergabekonfigurationsdatei; wird verwendet, um den Speicherort anzugeben, wenn er an einem anderen Speicherort gespeichert ist.
Der -c -Parameter ist nicht erforderlich, wenn Sie die Standardwerte der Wiedergabekonfigurationsdatei DReplay.exe.replay.config
verwenden möchten.
-f status_interval Gibt die Häufigkeit (in Sekunden) an, mit der der Status angezeigt werden soll.
Wenn -f nicht angegeben wird, ist das Standardintervall 30 Sekunden.
Beispiele
In diesem Beispiel wird ein Großteil des Verhaltens der verteilten Wiedergabe von der geänderten Wiedergabekonfigurationsdatei DReplay.exe.replay.config
abgeleitet.
Der -m -Parameter gibt an, dass ein Computer mit dem Namen
controller1
als Controller fungiert. Der Computername muss angegeben werden, wenn der Controllerdienst auf einem anderen Computer ausgeführt wird.Der -d -Parameter gibt den Speicherort der Zwischendatei auf dem Controller im Verzeichnis an (
c:\WorkingDir
).Der -o -Parameter legt fest, dass jeder angegebene Client die Wiedergabeaktivität aufzeichnet und in einer Ergebnisdatei der Ablaufverfolgung speichert. Hinweis: Mit dem
<ResultTrace>
-Element in der Konfigurationsdatei kann angegeben werden, ob Zeilenanzahl und Resultset aufgezeichnet werden.Der -w -Parameter gibt an, dass die Computer
client1
bisclient4
als Clients an der verteilten Wiedergabe teilnehmen.Der -c -Parameter wird verwendet, um auf die geänderte Konfigurationsdatei
DReplay.exe.replay.config
zu zeigen.Der -s -Parameter ist nicht erforderlich, da das
<Server>
-Element im<ReplayOptions>
-Element der WiedergabekonfigurationsdateiDReplay.exe.replay.config
angegeben wird.
Die Ereigniswiedergabephase wird mit der folgenden Syntax initiiert, wenn das Verwaltungstool und der Controller nicht auf demselben Computer ausgeführt werden:
dreplay replay -m controller1 -d c:\WorkingDir -o -w client1,client2,client3,client4 -c c:\DReplay.exe.replay.config
Um einen synchronen Sequenzierungsmodus anzugeben, wird das <SequencingMode>
-Element der Datei DReplay.exe.replay.config
auf den Wert synchronization
festgelegt. Der <ResultTrace>
-Abschnitt der Wiedergabekonfigurationsdatei wurde geändert, um anzugeben, dass die Zeilenanzahl aufgezeichnet wird. Diese Änderungen werden im folgenden XML-Beispiel gezeigt:
<?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>
Um einen Belastungssequenzierungsmodus anzugeben, wird das <SequencingMode>
-Element der Datei DReplay.exe.replay.config
auf den Wert stress
festgelegt. Das <ConnectTimeScale>
-Element und das <ThinkTimeScale>
-Element werden auf den Wert 50
festgelegt (um 50 Prozent anzugeben). Weitere Informationen zu Verbindungszeit und Reaktionszeit finden Sie unter Konfigurieren von Distributed Replay. Diese Änderungen werden im folgenden XML-Beispiel gezeigt:
<?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>
Berechtigungen
Sie müssen das Verwaltungstool als interaktiver Benutzer mit einem lokalen Benutzerkonto oder Domänenbenutzerkonto ausführen. Um ein lokales Benutzerkonto zu verwenden, müssen das Verwaltungstool und der Controller auf demselben Computer ausgeführt werden.
Weitere Informationen finden Sie unter Distributed Replay Security.
Weitere Informationen
Replay Trace DataReview the Replay ResultsSQL Server Distributed ReplayConfigure Distributed Replay SQL Server Distributed ReplayForumusing Distributed Replay to Load Test Your SQL Server - Part 2using Distributed Replay to Load Test Your SQL Server - Part 1