Das mlreplay-Dienstprogramm ist ein Tool, mit dem die vom MobiLink-Server aufgezeichneten MobiLink-Protokollinformationen wiedergegeben werden können.
mlreplay [options] [name=value [name2=value2...]] [[dll_name] filename]
Option | Beschreibung |
---|---|
@data |
Liest Optionen aus der angegebenen Umgebungsvariablen oder Konfigurationsdatei ein. Wenn beide mit demselben Namen vorhanden sind, wird die Umgebungsvariable verwendet. Siehe Konfigurationsdateien. Wenn Sie Kennwörter oder andere Informationen in einer Konfigurationsdatei schützen möchten, können Sie das Dienstprogramm zum Ausblenden von Dateien zum Verschleiern des Inhalts von Konfigurationsdateien verwenden. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
-ap | Passt den Fortschritt der in einer Wiedergabesitzung wiedergegebenen Synchronisationen so an, dass das Dienstprogramm mlreplay keine Warnungen wegen nicht übereinstimmenden Offsets auf dem MobiLink-Server verursacht, und passt Sequenznummern so an, dass diese keine Fehler verursachen. |
-f time_scale_factor | Auf die aufgezeichneten Zeiten gleichmäßig angewendeter Multiplikator. |
-ldt last_download_time | Geben Sie die während der Wiedergabesitzung an MobiLink-Server zu sendende letzte Downloadzeit an. Wenn das gerade wiedergegebene aufgezeichnete Protokoll mehrere Synchronisationen enthält (was möglich ist, wenn eine beständige Verbindung aufgezeichnet wurde), wird nur die erste letzte Downloadzeit ersetzt. Der Rest wird durch die letzte Downloadzeit ersetzt, die der MobiLink-Server während der Wiedergabesitzung an mlreplay sendet. Auch wenn die Option -ldt nicht verwendet wird, ersetzt mlreplay in allen Synchronisationen außer der ersten die letzte Downloadzeit durch die während der Wiedergabesitzung vom MobiLink-Server empfangene letzte Downloadzeit. Eine letzte Downloadzeit kann auch mithilfe der Informationsdatei für simulierte Clients angegeben werden (wenn die Option -sci verwendet wird), oder über den IdentifySimulatedClient-Callback, wenn eine DLL bereitgestellt wird. |
-ls | Die gesamte Laufzeit, die Gesamtdauer der Wiedergabe sowie für jeden simulierten Client die Gesamtzahl der Wiederholungen, die erfolgreich abgeschlossen wurden, fehlgeschlagen sind oder übersprungen wurden, werden protokolliert. Diese Informationen werden von mlreplay weiterhin vor dem Beenden protokolliert, auch wenn diese Option nicht angegeben ist. |
-n number_of_simulated_clients |
Die Anzahl auszuführender simulierter Clients. Das Minimum ist 1. Diese Option kann mit der Option -sci verwendet werden, wenn die Anzahl der simulierten Clients, die durch die Option -n festgelegt wird, kleiner oder gleich der Anzahl der simulierten Clients in der Informationsdatei ist. Wenn die Optionen gemeinsam verwendet werden, gibt -n die Anzahl der ausgeführten simulierten Clients an. Diese Optionen ermöglichen es, mithilfe einer Informationsdatei, die x als Anzahl der simulierten Clients angibt, ein Protokoll mit 1 bis x simulierten Clients wiederzugeben. |
-o file | Befehlszeilenoptionen und Ausgabemeldungen werden in der festgelegten Datei protokolliert. |
-os size | Die maximale Größe der Logdatei wird festgelegt. Wenn das Log die angegebene Größe erreicht (mindestens 10 kB) wird es in JJMMTTxx .rlg umbenannt und eine neue Datei mit dem ursprünglichen Namen wird gestartet. |
-ot file | Die Logdatei wird gekürzt. Befehlszeilenoptionen und Ausgabemeldungen werden in der festgelegten Datei protokolliert. |
-p password | Ersetzt Kennwörter durch das angegebene Kennwort. |
-ping seconds |
Pingt einen MobiLink-Server an, um zu ermitteln, ob der Server für den Empfang von Synchronisationen bereit ist. Standardmäßig pingt mlreplay den Server 60 Sekunden lang an. Wenn die Option -ping verwendet wird, sind die folgenden Rückgabecodes gültig:
|
-r remote ID | Entfernte IDs durch angegebene entfernte ID ersetzen. Diese Option kann nicht mit der Option -rg verwendet werden. |
-rep number_of_repetitions | Geben Sie an, wie oft simulierte Clients das aufgezeichnete Protokoll wiedergeben sollen. Jede Wiederholung kann angepasst werden, wenn für die Wiedergabe eine DLL bzw. ein Shared Object verwendet wird. Wenn Sie die generierte Replay-API verwenden, werden für jede Wiederholung die Callback-Funktionen "GetUploadTransaction", "GetDownloadApplyTime", "ReportEndOfReplay" und "DelayStartOfReplay" aufgerufen. |
-rg | Ersetzt entfernte IDs durch eine GUID. |
-rnt seconds |
Die simulierten Clients werden angewiesen, neue Wiederholungen der Protokollwiedergabe zu starten, bis die angegebene Anzahl von Sekunden erreicht ist. Simulierte Clients werden zwar nicht gestoppt, aber es werden keine zusätzlichen Wiederholungen gestartet. Wenn angegeben, wird der numRepetitions-Parameter einer API-Callback-Funktion auf 0 gesetzt. |
-rp pattern | Das angegebene Muster wird in Benutzernamen, Kennwörtern und entfernten IDs in der Befehlszeile durch die simulierte Clientnummer ersetzt. |
-sci file |
Geben Sie mlreplay eine Liste von Benutzernamen, Kennwörtern, entfernten IDs und letzten Downloadzeiten an, die für die Wiedergabe verwendet werden sollen. mlreplay erstellt für jede Zeile der Datei einen simulierten Client, um die Synchronisation mit diesen Clientinformationen wiederzugeben. Das Format jeder Zeile muss wie folgt lauten: [Benutzername],[Kennwort],[Entfernte ID],[Letzte Downloadzeit],[Skriptversion]. Die Zeit des letzten Downloads sollte in folgendem Format angegeben werden: JJJJ-MM-TT hh:mm:ss.SSS. Wenn die Felder für Benutzername, Kennwort, letzte Downloadzeit oder Skriptversion leer gelassen werden, verwendet mlreplay die entsprechenden Werte aus dem aufgezeichneten Protokoll. Wenn die entfernte ID leer ist, ersetzt mlreplay die entfernte ID durch eine GUID. Weder die Optionen -u, -p, -r, -rg und -ldt noch eine DLL können zusammen mit dieser Option verwendet werden. Diese Option kann zusammen mit der Option -n verwendet werden, wenn die durch -n angegebene Anzahl von simulierten Clients höchstens gleich der Anzahl der simulierten Clients in der Informationsdatei ist. Wenn die Optionen gemeinsam verwendet werden, gibt -n die Anzahl der ausgeführten simulierten Clients an. Diese Optionen ermöglichen es, mithilfe einer Informationsdatei, die x als Anzahl der simulierten Clients angibt, ein Protokoll mit 1 bis x simulierten Clients wiederzugeben. |
-sv script version | Ersetzen Sie Skriptversionen durch die angegebene Skriptversion. |
-u user name | Ersetzt Benutzernamen durch den angegebenen Benutzernamen. |
-x stream(opts) | Der Protokolldatenstrom und die Datenstromoptionen für die Verbindung mit dem MobiLink-Server. Der Verfügbarkeits-Timeout kann mit dieser Option festgelegt werden und wird automatisch angepasst, basierend auf dem vom MobiLink-Server verwendeten Wert. |
Der optionale dll_name-Parameter ist der Name der Replay-DLL, die mlreplay verwenden soll. Die Replay-DLL wird aus der Replay-API kompiliert. Siehe MobiLink-generiertes Replay-API-Dienstprogramm (mlgenreplayapi).
Die Name=Wert-Paare fungieren als Befehlszeilenargumente für die Replay-API. Sie sind in allen mlreplay-Callback-Funktionen zugänglich und können verwendet werden, um das Verhalten der Replay-DLL anzupassen. Sie werden nur verwendet, wenn eine Replay-DLL verwendet wird. Wenn Sie beispielsweise dieselbe Replay-DLL verwenden möchten, um Synchronisationen in unterschiedlichen Datenbanken (mit verschiedenen Instanzen von mlreplay) auszuführen, und am Ende der Synchronisationen eine Verbindung mit der Datenbank herstellen möchten, um sich zu vergewissern, dass die Daten erfolgreich hochgeladen wurden, können Sie die Verbindungszeichenfolge für die Datenbank mithilfe eines Name=Wert-Paars angeben, statt sie in der Replay-DLL fest zu kodieren.
Jede aufgezeichnete Datei wird als aufgezeichnete Protokolldatei bezeichnet. Alle von Anfang bis Ende einer Verbindung empfangenen Daten werden in einer separaten Protokolldatei aufgezeichnet. Jede aufgezeichnete Protokolldatei heißt recorded_protocol_x.mlr. Dabei ist x die Auftrags-ID. Mit der MobiLink-Serveroption -rp wird festgelegt, dass der MobiLink-Server alle von Clients empfangenen MobiLink-Protokollinformationen aufzeichnen soll. Siehe mlsrv16-Option -rp.
Zusätzlich zu den Daten, die vom und an den MobiLink-Server gesendet wurden, enthält die aufgezeichnete Protokolldatei auch Zeitinformationen. Damit kann mlreplay die aufgezeichneten Protokollinformationen genauso wiedergeben wie sie ursprünglich ausgeführt wurden. Anhand der Zeitinformationen wird auch versucht, dass der simulierte Client genauso lange benötigt wie der ursprüngliche Client.
Standardmäßig wird die aufgezeichnete Protokolldatei von mlreplay ohne Änderungen wiedergegeben. Sie können die Wiedergabesitzung jedoch mithilfe verschiedener Optionen anpassen. Die Informationen zum simulierten Client bestehen aus Benutzername, Kennwort, entfernter ID letzter Downloadzeit und Skriptversion. Diese Informationen können mit den Optionen -u, -p, -r (oder -rg) -ldt und -sv angepasst werden.
Das Dienstprogramm mlreplay kann eine aufgezeichnete Protokolldatei mit verschiedenen simulierten Clients gleichzeitig wiedergeben. Sie haben hierzu drei Möglichkeiten:
Nur mit der Befehlszeile Sie können eine aufgezeichnete Protokolldatei gleichzeitig wiedergeben, indem Sie eine Kombination der Optionen -n, -u, -p, -sv, -r, -rg und -rp verwenden. Mit der Option -n wird die Anzahl der simulierten Clients angegeben, während -u, -p -sv, -r und -rg dazu dienen, Informationen zu den einzelnen Clients anzugeben. Standardmäßig können Sie ein Sternchen (*) angeben, wenn Sie -u, -p, -sv bzw. -r verwenden (beliebig oft), damit mlreplay das Sternchen durch die Nummer des jeweiligen simulierten Clients ersetzt. Sie können das Sternchen mithilfe der Option -rp in jedes andere Zeichen ändern.
Beispiel: mlreplay -ap -x tcpip -n 2 -rp $ -u user_$ -p pwd_$ -r rid_$ -sv test_script recorded_protocol.mlr
führt mlreplay mit zwei simulierten Clients aus. Der simulierte Client 1 enthält folgende Informationen:
Der simulierte Client 2 enthält folgende Informationen:
Die folgenden Regeln werden angewendet, wenn Optionen ausgelassen wurden:
Mit einer Informationsdatei für simulierte Clients Sie können eine aufgezeichnete Protokolldatei gleichzeitig wiedergeben, indem Sie eine Informationsdatei für simulierte Clients mithilfe der Option -sci angeben. Die Informationsdatei für simulierte Clients ist eine .csv-Datei, in der jede Zeile Benutzername, Kennwort, entfernte ID, letzte Downloadzeit und Skriptversion (in dieser Reihenfolge) enthält.
Das Dienstprogramm mlreplay füllt leere Felder nach denselben Regeln aus wie unter Using only the command line beschrieben.
Standardmäßig erstellt mlreplay einen simulierten Client für jede Zeile aus der Informationsdatei für simulierte Clients. Sie können jedoch die Option -n zusammen mit der Option -sci verwenden, um die Anzahl der simulierten Clients zu begrenzen. Wenn Ihre Informationsdatei für simulierte Clients x simulierte Clients angibt, können Sie mithilfe der Option -n eine Zahl von 1 bis x angeben, damit mlreplay nur diese Anzahl von simulierten Clients verwendet.
Die Verwendung einer Informationsdatei für simulierte Clients ist flexibler als das Arbeiten nur mit der Befehlszeile, aber weniger flexibel als die Verwendung einer Replay-DLL.
Mit einer Replay-DLL Wenn Sie eine Replay-DLL verwenden möchten, geben Sie mithilfe der Option -n die Anzahl der simulierten Clients an. Alle anderen Informationen werden abgerufen, wenn mlreplay Aufrufe in die vom Benutzer implementierten Callback-Funktionen ausführt. Dieser Ansatz bietet die größte Flexibilität, da weitere Teile der Wiedergabe angepasst werden können. Siehe MobiLink Replay-C++-Callback-Funktionen und MobiLink-generiertes Replay-API-Dienstprogramm (mlgenreplayapi).
Das mlreplay-Dienstprogramm kann mithilfe der Befehlszeile mehrere simulierte Clients ausführen, um ein Protokoll wiederzugeben. Die Anzahl auszuführender simulierter Clients kann mit der Option -n angegeben werden. Verwenden Sie das Sternchen-Zeichen, um die Nummer des simulierten Clients beim Angeben von Benutzernamen, Kennwörtern, entfernten IDs und Skriptversionen mit den Optionen -u, -p, -r bzw. -sv zu bezeichnen. Benutzername, Kennwort, entfernte ID und Skriptversion für jeden simulierten Client werden nach den folgenden Regeln ermittelt:
Wenn kein Benutzername oder Kennwort angegeben ist, verwenden alle simulierten Clients den Benutzernamen bzw. das Kennwort aus der wiedergegebenen aufgezeichneten Protokolldatei.
Wenn keine entfernte ID angegeben wurde und die Anzahl der simulierten Clients größer ist als 1, wird jede entfernte ID zu einer automatisch generierten GUID. Wenn die Anzahl der simulierten Clients gleich 1 ist, wird die entfernte ID aus der aufgezeichneten Protokolldatei verwendet. Mithilfe der Option -rg können Sie einen GUID-Wert erzwingen.
Wenn die Angaben für Benutzername, Kennwort oder entfernte ID keine Sternchen enthalten, verwenden die simulierten Clients denselben Benutzername, dasselbe Kennwort bzw. dieselbe entfernte ID. Wenn die Angaben für Benutzername, Kennwort oder entfernte ID mindestens ein Sternchen enthalten, erhalten die simulierten Clients ihre eigenen eindeutigen Benutzernamen, Kennwörter und entfernten IDs, wobei jedes Sternchen durch die simulierte Clientnummer ersetzt wird.
Die für die ursprüngliche Synchronisation benötigte Zeit ist Teil der Aufzeichnung. mlreplay kann daher versuchen, die Synchronisation mit derselben Zeitdauer wiederzugeben.
Verwenden Sie das mlreplay-Dienstprogramm mit den folgenden MobiLink-Serveroptionen:
-rp Geben Sie mit dieser Option das Verzeichnis an, in dem die Synchronisationen für die Wiedergabe mit dem mlreplay-Dienstprogramm aufgezeichnet wurden.
-rrp Verwenden Sie diese Option, um das mlreplay- Dienstprogramm auszuführen, wenn der MobiLink-Server gestartet wird.
-lsc Geben Sie mit dieser Option die Verbindungsinformationen für den lokalen Server an, damit das mlreplay-Dienstprogramm eine Verbindung zum Server herstellen kann.
Die Wiedergabesitzung kann mit dem von MobiLink generierten Replay-API-Dienstprogramm weiter angepasst werden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |