- **New Intel Xeon Cascadelake Testbeds**: Added performance tests
for 2-Node-Cascadelake (2n-clx) testbeds with x710, xxv710 and
- mcx556a-edat NIC cards.
+ cx556a-edat NIC cards.
..
// Alternative Note for 1st Bullet when bad microcode Skx, Clx results are published
methodology_data_plane_throughput/index
methodology_packet_latency
methodology_multi_core_speedup
- methodology_http_tcp_with_wrk
- methodology_tcp_with_iperf3
- methodology_quic_with_vppecho
+ methodology_hoststack_testing/index
methodology_reconf
methodology_vpp_startup_settings
methodology_kvm_vms_vhost_user
--- /dev/null
+Hoststack Testing
+-----------------
+
+.. toctree::
+
+ methodology_http_tcp_with_wrk
+ methodology_tcp_with_iperf3
+ methodology_quic_with_vppecho
HTTP/TCP with WRK
------------------
+^^^^^^^^^^^^^^^^^
`WRK HTTP benchmarking tool <https://github.com/wg/wrk>`_ is used for
TCP/IP and HTTP tests of VPP Host Stack and built-in static HTTP server.
Hoststack Throughput Testing over QUIC/UDP/IP with vpp_echo
------------------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`vpp_echo performance testing tool <https://wiki.fd.io/view/VPP/HostStack#External_Echo_Server.2FClient_.28vpp_echo.29>`_
is a bespoke performance test application which utilizes the 'native
The test configuration is as follows:
- DUT1 Network DUT2
-[ vpp_echo-client -> VPP1 ]=======[ VPP2 -> vpp_echo-server]
- N-streams/connection
+::
+
+ DUT1 Network DUT2
+ [ vpp_echo-client -> VPP1 ]=======[ VPP2 -> vpp_echo-server]
+ N-streams/connection
where,
Hoststack Throughput Testing over TCP/IP with iperf3
-----------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`iperf3 goodput measurement tool <https://github.com/esnet/iperf>`_
is used for measuring the maximum attainable goodput of the VPP Host
The test configuration is as follows:
- DUT1 Network DUT2
-[ iperf3-client -> VPP1 ]=======[ VPP2 -> iperf3-server]
+::
+
+ DUT1 Network DUT2
+ [ iperf3-client -> VPP1 ]=======[ VPP2 -> iperf3-server]
where,
#. NIC-1: x710-DA4 4p10GE Intel.
#. NIC-2: xxv710-DA2 2p25GE Intel.
-#. NIC-3: mcx556a-edat ConnectX5 2p100GE Mellanox. (Only testbed t27, t28)
+#. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox. (Only testbed t27, t28)
#. NIC-4: empty, future expansion.
#. NIC-5: empty, future expansion.
#. NIC-6: empty, future expansion.
#. NIC-1: x710-DA4 4p10GE Intel.
#. NIC-2: xxv710-DA2 2p25GE Intel.
-#. NIC-3: mcx556a-edat ConnectX5 2p100GE Mellanox. (Only testbed t27, t28)
+#. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox. (Only testbed t27, t28)
#. NIC-4: empty, future expansion.
#. NIC-5: empty, future expansion.
#. NIC-6: x710-DA4 4p10GE Intel. (For self-tests.)
#. NIC-1: x710-DA4 4p10GE Intel.
#. NIC-2: xxv710-DA2 2p25GE Intel.
-#. NIC-3: mcx556a-edat ConnectX5 2p100GE Mellanox. (Not used yet.)
+#. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox. (Not used yet.)
#. NIC-4: empty, future expansion.
#. NIC-5: empty, future expansion.
#. NIC-6: empty, future expansion.
#. NIC-1: x710-DA4 4p10GE Intel.
#. NIC-2: xxv710-DA2 2p25GE Intel.
-#. NIC-3: mcx556a-edat ConnectX5 2p100GE Mellanox. (Not used yet.)
+#. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox. (Not used yet.)
#. NIC-4: empty, future expansion.
#. NIC-5: empty, future expansion.
#. NIC-6: x710-DA4 4p10GE Intel. (For self-tests.)
generator. HDRH latency data presented in latency packet
percentile graphs and in detailed results tables.
- - **Mellanox MCX556A-EDAT tests**: Added tests with Mellanox
+ - **Mellanox CX556A-EDAT tests**: Added tests with Mellanox
ConnectX5-2p100GE NICs in 2n-clx testbeds using VPP native rdma
driver.
- **New Intel Xeon Cascadelake Testbeds**: Added performance tests
for 2-Node-Cascadelake (2n-clx) testbeds with x710, xxv710 and
- mcx556a-edat NIC cards.
+ cx556a-edat NIC cards.
#. PRESENTATION AND ANALYTICS LAYER
groups = re.search(self.REGEX_MRR_MSG_INFO, msg)
if not groups or groups.lastindex != 1:
- return msg
+ return u"Test Failed."
try:
data = groups.group(1).split(u", ")
except (AttributeError, IndexError, ValueError, KeyError):
- return msg
+ return u"Test Failed."
out_str = u"["
try:
out_str += f"{(float(item) / 1e6):.2f}, "
return out_str[:-2] + u"]"
except (AttributeError, IndexError, ValueError, KeyError):
- return msg
+ return u"Test Failed."
def _get_data_from_perf_test_msg(self, msg):
"""Get info from message of NDRPDR performance tests.
groups = re.search(self.REGEX_PERF_MSG_INFO, msg)
if not groups or groups.lastindex != 10:
- return msg
+ return u"Test Failed."
try:
data = {
u"pdr_lat_10_2": groups.group(10),
}
except (AttributeError, IndexError, ValueError, KeyError):
- return msg
+ return u"Test Failed."
def _process_lat(in_str_1, in_str_2):
"""Extract min, avg, max values from latency string.
return out_msg
except (AttributeError, IndexError, ValueError, KeyError):
- return msg
+ return u"Test Failed."
def _get_testbed(self, msg):
"""Called when extraction of testbed IP is required.