NFVBench prints data
to command line in a table form. The data includes the current configuration,
test devices details, and results computed based on traffic statistics.
Fixed Rate
Run the following
command on NFVBench to view the traffic generated at fixed rate at different
components of the packet path:
[root@mgmt1 ~]# nfvbench --rate 5kpps -fs IMIX
NFVBench summary
consists of multiple blocks. In some cases, NFVBench displays lesser data. For
example, in the output, the EXT chain does not access some path components
(like switch). Therefore, the summary does not display
========== NFVBench Summary ==========
Date: 2017-03-28 19:59:53
NFVBench version 0.3.5
Openstack Neutron:
vSwitch: VTS
Encapsulation: VxLAN
Benchmarks:
> Networks:
> Components:
> TOR:
Type: N9K
Version:
10.28.108.249:
BIOS: 07.34
NXOS: 7.0(3)I2(2b)
10.28.108.248:
BIOS: 07.34
NXOS: 7.0(3)I2(2b)
> VTC:
Version:
build_date: 2017-03-03-05-41
build_number: 14
git_revision: 0983910
vts_version: 2.3.0.40
git_branch: vts231newton
job_name: vts231newton_gerrit_nightly
> Traffic Generator:
Profile: trex-local
Tool: TRex≠
Version:
build_date: Feb 16 2017
version: v2.18
built_by: hhaim
build_time: 18:59:02
> Service chain:
> PVP:
> Traffic:
VPP version:
sjc04-pod3-compute-4: v17.04-rc0~98-g8bf68e8
Profile: custom_traffic_profile
Bidirectional: True
Flow count: 1
Service chains count: 1
Compute nodes: [u'nova:sjc04-pod3-compute-4']
Run Summary:
+-----------------+-------------+----------------------+----------------------+----------------------+
| L2 Frame Size | Drop Rate | Avg Latency (usec) | Min Latency (usec) | Max Latency (usec) |
+=================+=============+======================+======================+======================+
| IMIX | 0.0000% | 16.50 | 10.00 | 241.00 |
+-----------------+-------------+----------------------+----------------------+----------------------+
L2 frame size: IMIX
Chain analysis duration: 73 seconds
Run Config:
+-------------+------------------+--------------+-----------+
| Direction | Duration (sec) | Rate | Rate |
+=============+==================+==============+===========+
| Forward | 60 | 7.6367 Mbps | 2,500 pps |
+-------------+------------------+--------------+-----------+
| Reverse | 60 | 7.6367 Mbps | 2,500 pps |
+-------------+------------------+--------------+-----------+
| Total | 60 | 15.2733 Mbps | 5,000 pps |
+-------------+------------------+--------------+-----------+
Chain Analysis:
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| Interface | Device | Packets (fwd) | Drops (fwd) | Drop% (fwd) | Packets (rev) | Drops (rev) | Drop% (rev) |
+======================+==========+=================+===============+===============+=================+===============+===============+
| traffic-generator | trex | 150,042 | | | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| vni-5098 | n9k | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| vxlan_tunnel0 | vpp | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| VirtualEthernet0/0/1 | vpp | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| VirtualEthernet0/0/0 | vpp | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| vxlan_tunnel1 | vpp | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| vni-5099 | n9k | 150,042 | 0 | 0.0000% | 150,042 | 0 | 0.0000% |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
| traffic-generator | trex | 150,042 | 0 | 0.0000% | 150,042 | | |
+----------------------+----------+-----------------+---------------+---------------+-----------------+---------------+---------------+
Run as:
nfvbench -c /tmp/nfvbench/nfvbench.cfg --rate 5kpps -fs IMIX
Summary
Interpretation:
Lines 1-34: General
information about host system and used components.
Lines 35-45:
Test-specific information about service chain, traffic profile, and compute
nodes.
Lines 46-53: Summary
of traffic profile run with results. A new row is added in the table for every
packet size in test. The output displays the run summary for the IMIX packet
size, but lines for 64B and 1518B can also be present as well. Table contains
following columns:
The run summary table
includes the following columns:
- Drop Rate: The percentage of
total drop rate for all chains and flows from the total traffic sent.
- Avg Latency: Average latency
of average chain latencies in microseconds.
- Min Latency: Minimum latency
of all chain latencies in microseconds.
- Max Latency: Maximum latency
of all chain latencies in microseconds.
Lines 54-68: Length
of test in seconds for given packet size and table displaying rate and duration
which was used for running traffic in the test.
Lines 69-89: Detailed
analysis of test. Each row represents one interface on packet path in order
they are visited. Left side of the table is for forward direction (from traffic
generator port 0 to port 1), right side is for reverse direction (from traffic
generator port 1 to port 0).
The chain analysis
table has following columns:
- Interface: Interface name on
devices in packet path.
- Device: Device name on which
the interface is displayed in the first column is available.
- Packets (fwd): RX counter on
given interface, only the first row is TX counter (it is the beginning of
packet path).
- Drops (fwd): Amount of
packets being dropped between current and previous interface.
- Drop% (fwd): Percentage of
dropped packets on this interface to the total packet drops.
- Packets (rev): Similar as
Packets (fwd) but for reverse direction.
- Drops (rev): Similar as
Drops (fwd) but for reverse direction.
- Drop% (rev): Similar as Drop%
(fwd) but for reverse direction.
This type of summary
is very useful for finding bottlenecks or to verify if the system can handle
certain fixed rate of traffic.
NDR/PDR
The test result shows
throughput values in different units for both NDR and PDR with latency
statistics (minimum, maximum, average) for each test.
[root@mgmt1 ~]# nfvbench --rate ndr_pdr -fs IMIX
========== NFVBench Summary ==========
Date: 2017-03-28 20:20:46
NFVBench version 0.3.5
Openstack Neutron:
vSwitch: VTS
Encapsulation: VxLAN
Benchmarks:
> Networks:
> Components:
> TOR:
Type: N9K
Version:
10.28.108.249:
BIOS: 07.34
NXOS: 7.0(3)I2(2b)
10.28.108.248:
BIOS: 07.34
NXOS: 7.0(3)I2(2b)
> VTC:
Version:
build_date: 2017-03-03-05-41
build_number: 14
git_revision: 0983910
vts_version: 2.3.0.40
git_branch: vts231newton
job_name: vts231newton_gerrit_nightly
> Traffic Generator:
Profile: trex-local
Tool: TRex
Version:
build_date: Feb 16 2017
version: v2.18
built_by: hhaim
build_time: 18:59:02
> Measurement Parameters:
NDR: 0.001
PDR: 0.1
> Service chain:
> PVP:
> Traffic:
VPP version:
sjc04-pod3-compute-4: v17.04-rc0~98-g8bf68e8
Profile: custom_traffic_profile
Bidirectional: True
Flow count: 1
Service chains count: 1
Compute nodes: [u'nova:sjc04-pod3-compute-4']
Run Summary:
+-----+-----------------+------------------+------------------+-----------------+----------------------+----------------------+----------------------+
| - | L2 Frame Size | Rate (fwd+rev) | Rate (fwd+rev) | Avg Drop Rate | Avg Latency (usec) | Min Latency (usec) | Max Latency (usec) |
+=====+=================+==================+==================+=================+======================+======================+======================+
| NDR | IMIX | 4.5703 Gbps | 1,496,173 pps | 0.0006% | 131.33 | 10.00 | 404.00 |
+-----+-----------------+------------------+------------------+-----------------+----------------------+----------------------+----------------------+
| PDR | IMIX | 4.7168 Gbps | 1,544,128 pps | 0.0553% | 205.72 | 20.00 | 733.00 |
+-----+-----------------+------------------+------------------+-----------------+----------------------+----------------------+----------------------+
L2 frame size: IMIX
Chain analysis duration: 961 seconds
NDR search duration: 661 seconds
PDR search duration: 300 seconds
Run Config:
+-------------+------------------+-------------+---------------+
| Direction | Duration (sec) | Rate | Rate |
+=============+==================+=============+===============+
| Forward | 60 | 2.3584 Gbps | 772,064 pps |
+-------------+------------------+-------------+---------------+
| Reverse | 60 | 2.3584 Gbps | 772,064 pps |
+-------------+------------------+-------------+---------------+
| Total | 60 | 4.7168 Gbps | 1,544,128 pps |
+-------------+------------------+-------------+---------------+
Lines 1-48: Similar
to the fixed rate run output explained above.
Lines 49-58: Summary
of test run with benchmark data. For each packet size, there is a row with
NDR/PDR or both values depending on chosen rate. The output displays the run
summary for the IMIX packet size.
The table includes the
following columns:
- L2 Frame Size: Packet size
used in test, can be one of 64B, IMIX, 1518B
- Rate (fwd+rev): Total rate
satisfying NDR/PDR condition in a unit bps/pps
- Avg Drop Rate: Average drop
rate of test iteration which satisfied NDR/PDR condition
- Avg Latency: Average packet
latency of test iteration which satisfied NDR/PDR condition in microseconds
- Min Latency: Minimum latency
of test iteration which satisfied NDR/PDR condition in microseconds
- Max Latency: Maximum latency
of test iteration which satisfied NDR/PDR condition in microseconds
The NDR and PDR
values along with the latency information are good indicators of NFVI solution.
The following figure
explains different approaches to interpret the same results.
Figure 6. Measured rates form the traffic
generator
NFVBench always
reports measured rate from the traffic generator perspective as total amount
sent into the chain.