mlreplay 实用程序是用于重放由 MobiLink 服务器记录的 MobiLink 协议信息的工具。
mlreplay [options] [name=value [name2=value2...]] [[dll_name] filename]
选项 | 说明 |
---|---|
@data |
此选项用于从指定的环境变量或配置文件中读入选项。如果存在具有相同名称的环境变量和配置文件,则使用环境变量。 请参见配置文件。 如果要保护口令或配置文件中的其它信息,可以使用文件隐藏实用程序对配置文件的内容进行模糊处理。 请参见文件隐藏实用程序 (dbfhide)。 |
-ap | 调整重放会话中正在重放的同步进度,从而避免 mlreplay 实用程序在 MobiLink 服务器上产生进度偏移不匹配的警告。 |
-f time_scale_factor | 均匀应用到记录时间的乘数。 |
-ldt last_download_time | 指定要在重放会话期间发送给 MobiLink 服务器的上次下载时间。如果正在重放的记录协议包含多个同步(记录持久连接时可能出现这种情况),则只替换首个上次下载时间;其余的将会被 MobiLink 服务器在重放会话中发送给 mlreplay 的上次下载时间替换。即使未使用 -ldt 选项,mlreplay 仍会使用在重放会话过程中从 MobiLink 服务器接收到的上次下载时间替换所有的上次下载时间(除首个同步外)。也可使用模拟客户端信息文件(使用 -sci 选项时)或通过 IdentifySimulatedClient 回调(提供 DLL 时)指定上次下载时间。 |
-ls | 为每个模拟客户端记录总运行时间、重放所用总时间以及成功完成、失败或跳过的总重复次数。请注意,即使未指定此选项,mlreplay 仍会在退出之前记录此信息。 |
-n number_of_simulated_clients |
要运行的模拟客户端的数量。最小值为 1。 当 -n 指定的模拟客户端数量小于或等于模拟客户端信息文件中的模拟客户端数量时,此选项可与 -sci 选项一起使用。一起使用时,由 -n 指定运行的模拟客户端的数量。这两个选项允许用一个模拟客户端信息文件指定 x 个模拟客户端,进而通过第 1 至第 x 个模拟客户端重放协议。 |
-o file | 将命令行选项和输出消息记录到指定文件。 |
-os size | 限制日志文件的最大大小。当日志文件达到指定大小(最小 10 KB)后,将重新命名为 YYMMDDxx.rlg,并以原始名称起用一个新日志文件。 |
-ot file | 截断日志文件。将命令行选项和输出消息记录到指定文件。 |
-p password | 使用给定口令替换口令。 |
-ping seconds |
对 MobiLink 服务器执行强制回应命令以确定服务器是否已准备好接收同步。缺省情况下,mlreplay 会对服务器执行 60 秒的强制回应命令。 如果使用 -ping 选项,则以下返回代码有效:
|
-r remote ID | 将远程 ID 替换成给定的远程 ID。该选项不可与 -rg 选项一起使用。 |
-rep number_of_repetitions | 指定模拟客户端应重放记录协议的次数。如果使用重放 DLL/共享对象,则可以对每次重复进行自定义。使用生成的重放 API 时,每次重复都会调用 GetUploadTransaction、GetDownloadApplyTime、ReportEndOfReplay 和 DelayStartOfReplay 回调。 |
-rg | 将远程 ID 替换成 GUID。 |
-rnt seconds |
指示模拟客户端重新开始协议重放,直至达到指定秒数。请注意,模拟客户端并未停止,但也不会开始更多重复。 指定此选项后,任何 API 回调的 numRepetitions 参数都将设置为 0 |
-rp pattern | 用模拟客户端号替换在命令行中指定的用户名、口令和远程 ID 的指定模式。 |
-sci file |
向 mlreplay 提供有关用户名、口令、远程 ID 和上次下载时间的列表以用于重放。mlreplay 会在文件中的每一行创建一个模拟客户端,以便通过该客户端信息重放记录协议。每行的格式应为:[用户名]、[口令]、[远程 ID]、[上次下载时间]。上次下载时间的格式应为 yyyy-MM-dd hh:mm:ss.SSS。如果将用户名、口令或上次下载时间字段留空,mlreplay 将使用记录协议中的相应值。如果将远程 ID 留空,mlreplay 则用 GUID 替换远程 ID。请注意,该选项不可与 -u、-p、-r、-rg 和 -ldt 选项一起使用,也不可与 DLL 一起使用。 当 -n 指定的模拟客户端数量小于或等于模拟客户端信息文件中的模拟客户端数量时,此选项可与 -n 选项一起使用。一起使用时,由 -n 指定运行的模拟客户端的数量。这两个选项允许用一个模拟客户端信息文件指定 x 个模拟客户端,进而通过第 1 至第 x 个模拟客户端重放协议。 |
-u user name | 将用户名替换成给定用户名。 |
-x stream(opts) | 用于连接 MobiLink 服务器的协议流和流选项。 |
每个被记录的文件称作记录协议文件。从连接开始到该连接结束期间接收的所有数据都会记录在一个单独的记录协议文件中。每个记录协议文件名为 recorded_protocol_x.mlr,其中 x 是作业 ID。MobiLink 服务器 -rp 选项用于指定 MobiLink 服务器应记录从其客户端接收的所有 MobiLink 协议。请参见-rp mlsrv12 选项。
除 MobiLink 服务器发送和接收的数据外,记录协议文件还包含计时信息,使得 mlreplay 可准确重放记录的协议信息(如同其最初执行一般)。还可通过计时信息尝试使模拟客户端使用与原始客户端相同的时间。
缺省情况下,mlreplay 会一成不变地播放记录协议文件。不过,可以使用不同的选项自定义重放会话。模拟客户端信息包含用户名、口令、远程 ID 和上次下载时间。可分别使用 -u、-p、-r(或 -rg)和 -ldt 选项自定义该信息。
mlreplay 实用程序可以同时使用 -sci simulated client information file 选项重放记录协议文件,这里的 simulated client information file 是一个 .CSV 文件,其中列出每个模拟客户端的用户名、口令、远程 ID 和上次下载时间。mlreplay 实用程序会为模拟客户端信息文件中的每一行模拟客户端信息启动一个模拟客户端。
mlreplay 实用程序可以运行多个模拟客户端以通过命令行重放协议。要运行的模拟客户端的数量可由 -n 选项指定。使用 -u、-p 和 -r 选项指定用户名、口令和远程 ID 时,应分别使用星号字符来表示模拟客户端号。以下规则用于决定每个模拟客户端的用户名、口令和远程 ID:
未指定用户名或口令时,所有模拟客户端均使用正在重放的记录协议文件中记录的用户名或口令。
未指定远程 ID 且模拟客户端数量大于 1 时,每个远程 ID 都变为自动生成的 GUID。模拟客户端数量为 1 时,使用记录协议文件中记录的远程 ID;可以通过 -rg 选项强制使用 GUID 值。
当指定的用户名、口令或远程 ID 不包含星号时,各模拟客户端使用相同的用户名、口令或远程 ID。当指定的用户名、口令或远程 ID 至少包含一个星号时,各模拟客户端获取其自身的唯一用户名、口令或远程 ID 并用模拟客户端号替换各个星号。
原始同步花费的时间是记录时间的一部分,因此 mlreplay 可尝试用同样的时间重放同步。
mlreplay 实用程序可同时重放记录协议文件多次。
使用含有以下 MobiLink 服务器选项的 mlreplay 实用程序:
-rp 使用此选项指定将会记录下来以便使用 mlreplay 实用程序重放的同步所在的目录。
-rrp 使用此选项在 MobiLink 服务器启动时运行 mlreplay 实用程序。
-lsc 使用此选项指定本地服务器的连接信息,以便 mlreplay 实用程序可连接到服务器。
使用 MobiLink 生成的重放 API 实用程序可对重放会话进行更多自定义设置。
链接重放 DLL 时,必须使用模块定义 (.def) 文件导出 mlreplay 要从重放 DLL 装载的回调。
假定您拥有一个模拟客户端信息文件 mlreplay.csv,其中指定了 100 个模拟客户端。以下示例说明如何结合使用 -sci 和 -n mlreplay 选项来重放多达 5 个的上述模拟客户端:
mlreplay -ap -x tcpip -sci mlreplay.csv -n 5 recorded_protocol_mlreplay_svr.mlr |
在以下示例中,您通过如下命令行来运行多个模拟客户端:
mlreplay -ap -x tcpip -u user_$ -p password_$ -r remoteid_$ -n 5 -rp $ recorded_protocol_mlreplay_svr.mlr |
本例中,mlreplay 运行了两个模拟客户端。运行的第一个客户端采用了 user_1 用户名、password_1 口令和 remoteid_1 远程 ID。运行的第二个客户端采用了 user_2 用户名、password_2 口令和 remoteid_2 远程 ID。缺省情况下,星号字符用在 -u、-p 和 -r 参数中表示模拟客户端号。-rp 选项替换此模式并指示 mlreplay 用美元符号替代模拟客户端号。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |