Vnetperf

The vnetperf utility allows you to measure the network performance of your hosts. It can measure network latency and the throughput for both the TCP and UDP protocols.

Important: This utility introduces a high network load and must not be used on a running Vertica cluster or database performance is degraded.

Using this utility you can detect:

The latency test measures the latency from the host running the script to the other hosts. Any host that has a particularly high latency should be investigated further.

The throughput tests measure both UDP and TCP throughput. You can specify a rate limit in MB/s to use for these tests, or allow the utility to use a range of throughputs to be used.

Syntax

vnetperf [options] [tests]

Recommended Network Performance

Options

Option Description
--condense

Condense the log into one JSON entry per line, instead of indented JSON syntax.

--collect-logs

Collect the test log files from each host.

--datarate rate

Limit the throughput to this rate in MB/s. A rate of 0 loops the tests through several different rates. The default is 0.

--duration seconds

The time limit for each test to run in seconds. The default is 1.

--hosts host1,host2,...

A comma-separated list of hosts on which to run the tests. Do not use spaces between the comma's and the host names.

--hosts file

A hosts file that specifies the hosts on which to run the tests. If the --hosts argument is not used, then the utility attempts to access admintools and determine the hosts in the cluster.

--identity-file file

If using passwordless SSH/SCP access between the hosts, then specify the key file used to gain access to the hosts.

--ignore-bad-hosts

If set, run the tests on the reachable hosts even if some hosts are not reachable. If not set, and a host is unreachable, then no tests are run on any hosts.

--log-dir directory

If --collect-logs is set, the directory in which to place the collected logs. The default directory is named logs.netperf.<timestamp>

--log-level LEVEL

The log level to use. Possible values are: INFO, ERROR, DEBUG, and WARN. The default is WARN.

--list-tests

Lists the tests that can be run by this utility.

--output-file file

The file that JSON results are written to. The default is results.<timestamp>.json.

--ports port1,port2,port3

The port numbers to use. If only one is specified then the next two numbers in sequence are also used. The default ports are 14159,14160, 14161.

--scp-options 'options'

Using this argument, you can specify one or more standard SCP command line arguments enclosed in single quotes. SCP is used to copy test binaries over to the target hosts.

--ssh-options 'options'

Using this argument, you can specify one or more standard SSH command line arguments enclose in single quotes. SSH is used to issue test commands on the target hosts.

--vertica-install directory

If specified, then the utility assumes Vertica is installed on each of the hosts and to use the test binaries on the target system rather than copying them over using SCP.

Tests

Note: If the tests argument is omitted then all tests are run.

Test Description
latency

Test the latency to each of the hosts.

tcp-throughput

Test the TCP throughput amongst the hosts.

udp-throughput

Test the UDP throughput amongst the hosts.

Returns

For each host it returns the following:

Latency test returns:

UDP and TCP throughput tests return:

Example

/opt/vertica/bin/vnetperf --condense -hosts 10.20.100.66,10.20.100.67 --identity-file '/root/.ssh/vid_rsa'