Using rvlat

rvlat runs as a client-server pair. You cannot run several clients with one server, nor vice versa.

We recommend that you write a script to run rvlat, redirecting its output streams to capture files (see Output Streams).

Start the server before starting the client.

Subjects

rvlat uses subjects that match RVLAT.> to carry its requests, replies, control signals and data. If the network interposes a routing daemon between the client and server, you must configure it to forward these subjects in both directions.

Test Conditions

Measure latency in a controlled environment. That is, ensure that no other applications are consuming CPU or I/O resources on the two test computers, and that no other applications are consuming network bandwidth. For example:

Terminate all other user applications.
Terminate scheduled jobs (UNIX cron), and anything else that uses CPU cycles.
Use a network analyzer to detect other bandwidth usage, and eliminate it.
To reduce variability that can distort latency measurements, you can set the reliability interval to zero.

Test Strategies

Run a series of trials lasting between 30 seconds and a few minutes.

Set message size to approximate expected data payloads for your applications.

Use serial mode to establish baseline round-trip statistics under uniform low-throughput conditions, and to understand network behavior. Then use batch mode to understand how latency degrades under high-throughput conditions. Vary batch size to simulate the actual data rates of your applications.

Data Strategies

Capture summaries from several trials in a spreadsheet, so you can easily analyze and manipulate the results.

Large datasets are unwieldy. When it is crucial to capture raw data (with -datapoints), use the -sample parameter to reduce dataset size.

Use the -spikes parameter to capture only the outliers.

Interpreting Data

Use plotting and statistical tools to graph latency data, visualize patterns, and correlate those patterns with network behavior.