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.